2014-01-08 49 views
1

當我在本地運行時,一切正常,但是當我推送到heroku時失敗。我發現,我需要修改所有的.css文件中app/assets/stylesheets/.css.scss擴展,並確保我的Gemfile包含:推送到Heroku後找不到CSS

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

編輯

我已經證實,有在Heroku上沒有編譯css文件中的公共/資產/。有一個application.js文件(它是空的),即使我爲每個控制器都有一個.js.coffee文件。我沒有application.css,每個控制器只有一個.css。

+0

我沒有很大的答案,但是這解決方法爲我工作:在'config/environments/production.rb'中註釋掉'config.serve_static_files = ENV ['RAILS_SERVE_STATIC_FILES']。present?'並用'config.serve_static_files = true'替換它。我希望我知道這是爲什麼起作用雖然... – nipponese

回答