小编mik*_*rgh的帖子

Rails 3.1部署到生产(使用Apache和Passenger)资产问题

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
Run Code Online (Sandbox Code Playgroud)

我运行rake资产:在Ubuntu上预编译并启动服务器.没别的了.没有我的图片加载.

传说中的"我在此URL找不到图像"框.

我运行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'
Run Code Online (Sandbox Code Playgroud)

我不能让它让步.任何帮助是极大的赞赏.谢谢!

UPDATE

这个解决方案每次都适合我:

首先清理您的资产

rm -rf public/assets
Run Code Online (Sandbox Code Playgroud)

rake assets:clean RAILS_ENV=production
Run Code Online (Sandbox Code Playgroud)

第二,在#production.rb中改变

config.assets.compile = false
Run Code Online (Sandbox Code Playgroud)

config.assets.compile = true
Run Code Online (Sandbox Code Playgroud)

第三,运行以预编译您的资产

rake assets:precompile RAILS_ENV=production
Run Code Online (Sandbox Code Playgroud)

第四,在#production.rb中改变

config.assets.compile = true
Run Code Online (Sandbox Code Playgroud)

回到

config.assets.compile …
Run Code Online (Sandbox Code Playgroud)

apache deployment production assets ruby-on-rails

10
推荐指数
1
解决办法
9616
查看次数

/favicon.ico附加到Rails 4路由

这是一个奇怪的.我今天启动了一个新的Rails 4应用程序,然后创建了一个名为transfer_functions的资源.当我点击像localhost:3000/transfer_functions/1这样的网址时,它会将/favicon.ico附加到它的末尾,我在服务器控制台中收到此错误.

ActionController::RoutingError (No route matches [GET] "/transfer_functions/1/favicon.ico"):
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢!

该应用程序使用'turbolinks'宝石.

更新:

我正在使用Twitter Bootstrap并使用相应的生成器创建应用程序布局.我从application.html.haml文件中删除了这一行,它修复了问题.

%link(href="favicon.ico" rel="shortcut icon")
Run Code Online (Sandbox Code Playgroud)

不确定我理解为什么会导致问题.

routes ruby-on-rails-4

5
推荐指数
1
解决办法
6052
查看次数