【发布时间】:2015-05-12 21:02:46
【问题描述】:
我是 ruby 和 rails 新手,所以请耐心等待。
我在 Rails 中有一个 SASS 文件 (stats.css.scss),它在我的开发环境中正确加载,但在我的生产环境中没有加载。我知道是资产管道造成了这种情况,但已经进行了几次尝试,但无法找出问题所在。这是我得到的:
在我的站点/应用程序/资产/样式表文件夹中,我有 stats.css.scss 文件
index.html.erb 文件正在像这样加载 SASS 文件:
<%= stylesheet_link_tag "stats", media: "all" %>
当我在开发环境中检查加载页面(谷歌浏览器中的Ctrl+U)的源代码时,我看到了这个
<link href="/assets/stats.css?body=1" media="all" rel="stylesheet" />
这是我所期望的,因为它看起来确实像资产管道中包含的 JS。但在生产环境中,源代码显示了这一点
<link href="/stylesheets/stats.css" media="all" rel="stylesheet" />
谁能帮我弄清楚我错过了什么?谢谢!
【问题讨论】:
-
您是否运行
rake assets:precompile来预编译资产以进行生产部署?此外,如果您可以使用清单文件来要求资产,通常比一个一个地执行要好。你可能想看看guides.rubyonrails.org/asset_pipeline.html。 -
我是在本地机器上完成的,但我们的部署有点复杂:我们将代码推送到 github,其余的由自动化服务器处理。我应该在推动之前这样做吗?还有其他建议吗?
-
资产文件进入github了吗?
-
是的。我将我的 site/app/assets/stylesheet/stats.css.scss 文件推送到 github。
-
您是否在本地 m/c 和 github 上的 /public/assets 中看到缩小的资产文件?
标签: css ruby-on-rails ruby-on-rails-4 sass asset-pipeline