Rails生成静态文件路由错误

当我在test / dev中本地运行我的应用程序时,我的视图很好地显示出来并且一切都很愉快。 当我尝试导航到我的远程服务器/本地生产服务器上运行的那些相同的erb文件时,我得到如下错误:

ActionController::RoutingError (No route matches "/stylesheets/scaffold.css") 

我在这里看过类似的问题,但没有一个能够解决我的问题。 我找到答案的最接近的答案是第一个答案: 样式表或JavaScript文件的Rails 404错误

据我所知,最好的办法是配置我的网络服务器来提供静态文件。 我如何在本地/在Heroku上这样做?

更新

根据raidfive的建议,我将config.serve_static_assets从false更改为true,这解决了我的问题。 但是,我看到它在production.rb中说Apache或nginx应该已经在提供静态资产。 以这种方式提供静态资产是不是更好/更专业?如果是这样,如果我使用Heroku,我将如何达到预期的效果?

更新2

显然Heroku 会自动执行此操作 ,我有一个额外的逗号导致恶作剧。 我能够使用以下提示查看扩展的Heroku日志以追踪故障。 谢谢!

你在使用Rails 3吗? 默认情况下,Rails 3 / webrick不会在生产模式下提供静态文件。 您可以通过设置轻松启用此function

您的production.rb文件中的config.serve_static_assetstrue

在Rails5中,您应该发表评论

 "config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?" 

config/enviroment/production.rb