Rails 3.1改变了处理资产管道的方式,并且在部署到生产时引起问题.
我正在使用Apache和Passenger,这似乎工作正常.
我的生产是这样设置的(现在).
# congif/environments/production.rb config.cache_classes = false config.consider_all_requests_local = true config.action_controller.perform_caching = true config.serve_static_assets = false config.assets.compress = true config.assets.compile = false config.assets.digest = true config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
我运行rake资产:在Ubuntu上预先编译并启动服务器.没有什么.我的图像都不加载.
传说中的“我在这个网址找不到图像”框.
我运行rake资产:在CentOS上预编译并启动服务器.而…权限错误.
*Error Compiling CSS Asset* Errno::EACCESS: Permission Denied - [app path]/tmp/cache/assets/E95 [path to RVM Ruby]/fileutils.rb:243:in 'mkdir'
我不能让它发抖.任何帮助是极大的赞赏.谢谢!
UPDATE
这个解决方案每次都为我工作:
首先清理你的资产
rm -rf public/assets
和
rake assets:clean RAILS_ENV=production
二,在#production.rb中改变
config.assets.compile = false
至
config.assets.compile = true
第三,运行以预编译您的资产
rake assets:precompile RAILS_ENV=production
第四,在#production.rb更改
config.assets.compile = true
回到
config.assets.compile = false
第五,运行以下命令重新启动服务器:
touch tmp/restart.txt
第六,通过运行此命令对新创建的资源进行不受限制的权限
chmod -R 777公共/资产
第七,庆祝!