当我在本地运行时,一切正常,但是当我推送到heroku时失败了。我发现我需要修改app/assets/stylesheets/
中的所有.css文件以获得.css.scss
扩展名,并确保我的Gemfile包含:
gem 'sass-rails', '4.0.1'
group :production, :staging do
gem 'rails_12factor' # for heroku
end
在我的.css.scss
文件中,我现在使用image-url()
代替url()
指向指纹图像(由heroku和资产编译业务进行指纹识别和重新组织)。
app/views/layouts/mycontrollername.html.erb
中的:
<head>
...
<%= stylesheet_link_tag "path/to/css/file" %>
</head>
但我仍然无法找到正确的道路。当我查看源代码时,除了指纹外,我看到了我期望的路径:path/to/css/file.css
而不是path/to/css/file-somemd5hash.css
。请注意,该路径不包含assets / path / to / css / file。
http://guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets
我已经确认在public / assets /中heroku上没有已编译的css文件。有一个application.js文件(它是空的),即使我有一个.js.coffee文件为每个控制器。我没有application.css,每个控制器只有一个.css。
答案 0 :(得分:0)
这个宝石帮助我克服了它,我想很快就会合并到rails master中:
gem'srrockets_better_errors'