Ruby on Rails应用程序在生产环境中找不到样式表和JavaScript?

问题描述 投票:1回答:2

我在ubuntu使用passengernginx部署了Ruby on Rails应用程序,但是在我的应用程序中找不到cssjs文件。

这是错误消息:

open() "/var/nginx/blog/public/stylesheets/application.css" failed (2: No such file or directory)

实际上, /var/nginx/blog/app/assets/javascripts/ /var/nginx/blog/public/stylesheets/application.css实际上不存在,我的js文件在/var/nginx/blog/app/assets/javascripts/ ,我的css文件在/var/nginx/blog/app/assets/stylesheets

在我的nginx.conf ,我这样写:

location ~ ^/(assets|images|javascripts|stylesheets|system)/ {
    expires max;
    add_header Cache-Control public;
}

好像这里是错的地方! 但是我对此发表评论,它仍然找不到jscss 。 如何配置以获取这些文件?

ruby-on-rails nginx passenger assets
2个回答
3
投票

也许您应该将资产放在public/文件夹中。 您是否尝试预编译资产?

rake assets:precompile


2
投票

您应该在要部署的远程服务器上运行RAILS_ENV=production bundle exec rake assets:precompile

assets:precompile rake任务,压缩并最小化您的资产,以快速可靠地进行高负荷生产。 无需在您的开发环境上运行此任务。

如果可以显示您的部署脚本,那就更好了。 但是大多数部署解决方案(如capistrano)会自动执行此操作。

© www.soinside.com 2019 - 2024. All rights reserved.