繁体   English   中英

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

[英]Ruby on Rails application can not find stylesheets and javascript in production environment?

我在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 如何配置以获取这些文件?

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

rake assets:precompile

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM