将Ruby on Rails应用程序移动到生产服务器(AWS EC2 Amazon Linux 2018.03)页面后,由于错误“资产管道中不存在资产'application.css'”(存在预编译文件),因此页面无法呈现在公共/资产中): production.log
但是,当我刷新我的应用程序时(有时不止一次),可以在缓存中找到此文件,并且页面可以正确呈现。似乎服务器不等待文件预编译或类似的事情。这种情况不仅发生在首页输入上,而且还发生在视图的每次更改上。
我遵循了帖子中的提示: application.css not in asset pipeline,但没有帮助。
我的堆栈:
如果有任何提示,我将非常感谢。
答案 0 :(得分:0)
您可以确认您的app / assets / stylesheets文件夹应包含application.css文件,并且必须在生产环境中预编译资产,然后才能在生产环境中启动/启动服务器。 您可以使用
预编译资产RAILS_ENV=production rails assets:precompile
如果仍然无法正常运行,则可以在production.rb中尝试将config.assets.compile选项设置为true,这样它将进行实时编译。尽管它在生产环境中应该是错误的,因为它会影响性能。
config.assets.compile = true