最近在Heroku上從3.2升級到Rails 4.0.2。我注意到,也許每隔推我stylesheet_link_tag
和javascript_include_tag
標籤指向我的發展路徑(即/assets/admin.css
),而不是我的生產/預編譯@按手印路徑如/assets/admin-a334a2cf57ed6ffc29f7f7a1af35f380.css
不一致的資產預編譯Rails 4和Heroku
,這裏是來自production.rb相關設置:
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = false
# Generate digests for assets URLs
config.assets.digest = true
因爲我在Heroku我有config.assets.initialize_on_precompile = false
在application.rb
。因此,如果我對資產文件進行了任何更改,則在部署前我總是運行bundle exec rake assets:precompile
。
這裏是我的文件夾層次:
app
-assets
-images
-javascripts
-stylesheets
-themes
dark.css
blue.css
etc...
admin.css
application.css
jobboard.css
這裏是我的application.config
config.assets.precompile += [
'admin.css',
'admin.js',
'jobboard.js',
'jobboard.css',
'themes/dark.css',
'themes/blue.css',
'themes/green.css',
'themes/plain.css',
'themes/seafoam-flat.css',
'themes/fire-flat.css'
]
但出於某種原因,我得到這個金不一致的行爲。所有文件預編譯。但是有時候admin.css文件不會被引用到指紋中,對於/ themes下的css文件也是如此。任何線索爲什麼會發生這種情況?
您可以重新編譯您的資產,以查看在此過程中是否有錯誤或丟失文件? –