我遗漏了资产管道功能。事情在开发中运作良好,我开始在生产环境中运行,所有的一切都崩溃了!
所以我在app / assets / images中有一个名为“logo.png”的图像
我预编译(RAILS_ENV=production rake assets:precompile
)我可以验证公共/资产现在是否存在 logo.png 和徽标-5fa60e416f495e562c56a5087fe696dc.png
然后我在制作rails s thin -e production
但是我得到了一张破碎的图片
获取http://localhost:3000/assets/logo-5fa60e416f495e562c56a5087fe696dc.png 404(未找到)
发生了什么事?
我还注意到,当我切换到生产时,我也开始收到javascript错误,例如“jQuery未找到”jquery工具,即使在开发过程中没有问题,我在我的application.js中指定jquery应该先加载其他javascript文件。
答案 0 :(得分:2)
解决方案很简单(发现它不是)。
只需更新您的config / production.rb即可反映以下内容:
config.serve_static_assets = true
虽然默认情况下设置为false,但只有在将其设置为true时才能在生产环境中本地(通过webbrick或在我的情况下为瘦)正确运行rails 3.1.x应用程序。在部署到实际的生产服务器之前,您可能希望将其重新设置为false。