ruby-on-rails - migrations - ruby on rails heroku
Error de enrutamiento de archivos estáticos de producción de rieles (2)
Cuando ejecuto mi aplicación localmente en prueba / dev, mis puntos de vista salen bien y todo está feliz. Cuando trato de navegar a esos mismos archivos erb que se ejecutan en mi servidor remoto / servidor de producción local, recibo errores como los siguientes:
ActionController::RoutingError (No route matches "/stylesheets/scaffold.css")
He visto preguntas similares aquí en SO, pero ninguna ha podido resolver mi problema. Lo más parecido que he encontrado a una respuesta es la primera respuesta aquí: error de Rails 404 para Stylesheet o archivos de JavaScript
Según tengo entendido, lo mejor sería configurar mi servidor web para que sirva archivos estáticos. ¿Cómo hago esto localmente / en Heroku?
Actualizar
Según la sugerencia de raidfive cambié config.serve_static_assets de falso a verdadero y esto solucionó mi problema. Sin embargo, veo que dice en production.rb que Apache o nginx ya deberían estar sirviendo activos estáticos. ¿Es menos bueno / profesional para servir activos estáticos de esta manera y, de ser así, cómo podría lograr los resultados deseados si estoy usando Heroku?
Actualización 2
Aparentemente Heroku hace esto automáticamente , tenía una coma extra que estaba causando la travesura. Pude buscar en los registros de Heroku extendidos usando el siguiente consejo para rastrear el problema. ¡Gracias!
¿Estás usando Rails 3? Por defecto, Rails 3 / webrick no sirve archivos estáticos en modo de producción. Puede habilitar esto fácilmente estableciendo
config.serve_static_assets
a true
en su archivo production.rb
.
En Rails5, deberías comentar
"config.public_file_server.enabled = ENV[''RAILS_SERVE_STATIC_FILES''].present?"
en config/enviroment/production.rb