我在使用Leopard网络服务器上的制作的姐妹Rails 3.1应用程序上完成了这项工作。所以我没想到会丢失部署这个应用程序。我已经让Passenger认出了应用程序,但我在apache中遇到了'[GET /] miss'错误。环顾四周,我想我可以在webrick中运行这个以查看是否可以隔离问题。
捆绑exec rake资产:预编译RAILS_ENV =生产
但是当我加载localhost:3000时,我得到“blueprint / screen.css未预编译”
我开始比较姐妹应用程序之间的差异,但找不到它们。以下是他们分享的一些关键代码:
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %> #in app/views/layouts/application.html.erb
config/environments/production.rb
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.serve_static_assets = false
config.assets.precompile += %w( search.js )
config.assets.precompile += %w( blueprint/screen.css blueprint/print.css )
config.assets.precompile += %w( *.css *.js )
这发生在3.1.0和3.1.3中,我可以确认预编译发生在蓝图目录中。我在俯视什么?,山姆
答案 0 :(得分:12)
你有没有像这样单独尝试过?
config.assets.precompile += %w( blueprint/screen.css )
config.assets.precompile += %w( blueprint/print.css )
然后运行:
bundle exec rake assets:precompile RAILS_ENV=production
这应该修复它。
答案 1 :(得分:8)
您可以在生产环境中将assets.compile设置为true,以便在错过文件时回退到资产管道。
# config/environments/production.rb
# ...
# Fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true