我正在尝试将我的应用程序投入生产,但图像和 css 资产路径不起作用。
这是我目前正在做的事情:
- 图片资源位于 /app/assets/images/image.jpg
- 样式表位于 /app/assets/stylesheets/style.css
- 在我的布局中,我像这样引用 css 文件:
<%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %>
- 在重新启动独角兽之前,我运行
RAILS_ENV=production bundle exec rake assets:precompile
它并成功,我在public/assets
目录中看到了指纹文件。
当我浏览到我的网站时,我收到 404 not found 错误mysite.com/stylesheets/styles.css
。
我究竟做错了什么?
更新: 在我的布局中,它看起来像这样:
<%= stylesheet_link_tag "bootstrap.min", media: "all", "data-turbolinks-track" => true %>
<%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
生成源是这样的:
<link data-turbolinks-track="true" href="/stylesheets/bootstrap.min.css" media="all" rel="stylesheet" />
<link data-turbolinks-track="true" href="/stylesheets/styles.css" media="all" rel="stylesheet" />
<script data-turbolinks-track="true" src="/assets/application-0c647c942c6eff10ad92f1f2b0c64efe.js"></script>
看起来 Rails 没有正确查找已编译的 css 文件。但是为什么它对 javascripts 正常工作非常令人困惑(注意/assets/****.js
路径)。