我正在学习Rails,已经有一个在dev(webrick)上运行的应用程序。
问题是:预编译的CSS文件在生产环境中找不到。
现在我将它托管在Heroku上并进行部署。我收到一条消息说资产已经预编译(所以这不是编译错误),一切都是默认设置。
我列出了 /public/assets 文件夹中的所有内容。我甚至可以使用 cat
命令查看 application-*.css 文件,并得到应有的全部内容。
但是当我尝试访问 CSS 文件时,会给我返回 404 错误页面(即使它是使用 <%= stylesheet_link_tag "application", :media => "all" %>
自动生成的 CSS 链接)。因此,肯定不是我硬编码 CSS 链接的问题。
我不确定下一个检查应该是什么。
如果你想查看输出,现在可以在这里公开访问:链接。
public/assets/
目录中看到这些图片吗?顺便问一下,你是如何引用这些图片的?是使用image_path
助手吗? - veeconfig.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
。对于Heroku,我只需要heroku config:set RAILS_SERVE_STATIC_FILES=true
就可以让它工作。 - Ghoti