javascript heroku twitter-bootstrap popover

Las funciones de Javascript funcionan en localhost pero no cuando se implementan en Heroku



twitter-bootstrap popover (8)

La actualización de los piñones funcionó para mí: los bundle update sprockets

He notado que cuando implemento en Heroku, las funciones de javascript no funcionan (como Bootstrap Popover, Buttons, etc.). Estoy trabajando con rieles 3.2.2, rubí 1.9.3. Las características funcionan en localhost. Parece que no se muestran errores cuando se implementa en Heroku (las funciones simplemente no aparecen).

¿Algunas ideas? ¡Gracias!


La precompilación manual funcionó para mí.

bundle exec rake assets:precompile antes de empujar a Heroku.


Recuerde que todo lo que normalmente haría en localhost, debe estar haciendo con heroku. Asegúrate de que heroku run rake assets:precompile .


Revisé el js minificado para mi aplicación, y el popover estaba dos veces en el archivo.

Asegúrese de que solo uno de los bootstrap y boostrap-sprockets esté declarado en sus activos javascript

De la documentación:

bootstrap-sprockets y bootstrap no deberían incluirse ambos en application.js.

bootstrap-sprockets proporciona archivos JavaScript de Bootstrap individuales (alert.js o dropdown.js, por ejemplo), mientras que bootstrap proporciona un archivo concatenado que contiene todos los Javascripts de Bootstrap.

Asegúrese de que solo uno de los piñones de arranque y de arranque

Refs: bootstrap-sass problema github y here .


Revise su archivo production.rb. Creo que la línea debe ser:

config.assets.compile = true

Creo que esto se establece en falso por defecto.


Si ya ha intentado heroku run rake assets:precompile y JS aún no funciona, intente heroku restart para reiniciar el servidor después de precompilar los activos.


También tuve un problema similar, pero el problema estaba ocurriendo en localhost también.

Probablemente estés usando rails-bootstrap gem. Instala un archivo bootstrap.coffee.js Este archivo fue el culpable. Tenía uso .popover y el complemento relevante no fue incluido. Comenté eso, ya que no lo estaba usando de todos modos, pero debería considerar incluir el complemento popover para bootstrap.


Tuve exactamente el mismo problema (soy muy nuevo en Rails). Eventualmente resolví el problema al reorganizar el orden de los archivos dentro de application.js:

//= require jquery //= require jquery_ujs //= require twitter/bootstrap

Para que los javascripts funcionen en el desarrollo, "require jquery" debía estar después de "require twitter / bootstrap". En producción, jquery necesitaba ser lo primero. No estoy seguro de qué causó esto, pero ahora funciona cuando se implementa en Heroku.

Utilicé estos dos mensajes:

javascript: complementos de jquery de inicio de Twitter no compilados para la producción

Twitter bootstrap desplegable de repente no funciona