【发布时间】:2012-02-28 10:52:18
【问题描述】:
在预编译资产后,尝试使用资产管道在生产模式下测试部署一个简单的 Rails 3.1 应用。现在使用 JRuby 和 WEBrick 1.3.1;计划下一步部署在 JBoss 上。
在开发环境中一切正常,但在生产环境中,当客户端请求任何预编译资产时,它会引发 RoutingError。
Rails 服务器日志如下所示:
开始 GET "/assets/application-a04f15ca8cb6078896dbdc22266757d9.css" 对于 127.0.0.1 在 2012-02-06 18:19:04 -0500
ActionController::RoutingError(没有路由匹配 [GET] "/assets/application-a04f15ca8cb6078896dbdc22266757d9.css)
预编译的资产位于应用程序 public/assets 目录中。
我应该期望 WEBrick 能够处理 /public/assets 吗?还是我只能在部署在 Apache 等上时进行测试?
任何帮助将不胜感激。
【问题讨论】:
-
您的生产环境中有哪些资产设置?有很多要配置的:guides.rubyonrails.org/asset_pipeline.html#in-production
-
在 production.rb 中:config.assets.compress=true;config.assets.compile=false;config.assets.digest=true;
标签: ruby-on-rails ruby-on-rails-3.1