rails how deploy asset ruby-on-rails heroku asset-pipeline ruby-on-rails-4

ruby-on-rails - how - rails assets precompile



Rails 4 activos todavĂ­a no se precompilan en Heroku a pesar de instalar la gema rails_12factor (4)

Intenta mover todas las gemas del grupo de assets en Gemfile al alcance principal. El grupo de activos ya no se usa en Rails 4 y eso puede estar causando el problema.

Hace poco intenté actualizar mi aplicación Rails 3.2.13 a la recién lanzada 4.0.0 e intenté implementarla en Heroku. Desafortunadamente, a pesar de seguir esta guía , los activos todavía no parecen precompilar correctamente. Por supuesto, agregué la gema rails_12factor ya y también hice un par de cosas para actualizar correctamente la aplicación a 4.0.0. Funciona muy bien en el modo de desarrollo y todas mis pruebas todavía están pasando. Sin embargo, todavía no muestra los activos en Heroku.

Una cosa que noté al ejecutar heroku run ls public/assets es que Heroku fue capaz de precompilar los activos de la app/assets y al hacer un comando cat en esos archivos se mostrará la versión compilada de los activos. Sin embargo, si tengo acceso al archivo en el navegador, siempre obtengo un 404.

¿Está realmente listo Heroku para Rails 4?

EDITAR :

Aquí hay una lista de cosas que hice para actualizar de 3.2.13 a 4:

  • Se eliminó el grupo de activos porque ya no se usa en Rails 4

  • Actualización de la versión de los carriles de 3.2.13 a 4.0.0

  • Eliminar requiere la línea de active_resource/railties desde application.rb ya que active_resource se eliminó como una dependencia de los rieles

  • Actualiza sass-rails y coffee-rails para usar sus ramas principales correspondientes porque usa railties 4.0.0.rc2 en lugar de 4.0.0 como dependencia

  • Actualizar la versión de idee a 3.0.0.rc

  • Agregue los atributos_protegidos para facilitar la transición a Rails 4 sin tener que cambiar a strong_parameters todavía

  • Cambie las configuraciones del entorno para agregar config.eagerload y eliminar config.whiny_nils para eliminar las advertencias de desactivación.

  • Cambiar la sintaxis de confirm () para eliminar advertencias de deprecation

  • Cambie la sintaxis hash de los cohetes hash a la sintaxis 1.9.3

  • Eliminar configuración de explicación automática para eliminar advertencias de desactivación

  • Agregue el directorio bin usando rake rails: update: bin

  • Agrega la gema rails_12factor para poder alojar a heroku

  • Agregue la versión de Ruby en Gemfile para heroku

EDIT 2

Supongo que también vale la pena mencionar que no hubo ningún error en Heroku durante la precompilación y en realidad dice que tuvo éxito en la precompilación de los activos, por lo que es extraño que no haya funcionado.


En su archivo production.rb, asegúrese de tener la línea config.assets.compile = true . Eso resolvió el problema para mí.


Usar una versión por menos trabajada para mí

gem ''twitter-bootstrap-rails'', ''= 2.2.6'' gem ''less-rails'', ''2.3.3''


Me encuentro con el mismo problema. Ahora los estoy precompilando localmente

bundle exec rake assets:precompile RAILS_ENV=production

y añádalos al repositorio y empújelos a heroku.