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公共/资产
第七,庆祝!
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。