0

我在使用Rails 3.1的ActiveAdmin。唯一的圖片(我知道),這個寶石使用的是在表格的標題行中排序箭頭。在發展中,CSS正確引用這些圖片:Rails 3.1資產在ActiveAdmin的生產中沒有正確加載

table.index_table th.sortable a { 
    background: url("/assets/active_admin/orderable.png") no-repeat 0 4px; 
    padding-left: 13px; 
} 

在生產中,CSS不正確地引用這些圖像,產生了404:

table.index_table th.sortable a { 
    background: url("/images/active_admin/orderable.png") no-repeat 0 4px; 
    padding-left: 13px; 
} 

這是從我的Gemfile中的相關內容:

gem 'rails', '3.1.1' 

group :assets do 
    gem 'sass-rails', '~> 3.1.0' 
    gem 'coffee-rails', '~> 3.1.0' 
    gem 'uglifier' 
end 

gem 'activeadmin', :git => 'git://github.com/gregbell/active_admin.git' 

回答

0

爲此,ActiveAdmin git存儲庫最終成爲issue submitted。解決方案(對我來說)是將我的sass-rails gem升級到3.1.4。

gem 'rails', '3.1.1' 

group :assets do 
    gem 'sass-rails', '~> 3.1.4' 
    gem 'coffee-rails', '~> 3.1.0' 
    gem 'uglifier' 
end 

gem 'activeadmin', :git => 'git://github.com/gregbell/active_admin.git' 
0

您必須使用image-url而不是url。在生產中,Rails 3.1爲所有圖像設置了一個哈希值。就像那樣,您可以在部署後輕鬆過期。這是一個很好的功能,因爲瀏覽器可以像這樣更好地緩存資源。該代碼應該使用:

table.index_table th.sortable a { 
    background: image-url("active_admin/orderable.png") no-repeat 0 4px; 
    padding-left: 13px; 
} 

的Rails 3.1中的所有資產看跌期權digets因爲這個變量在production.rb設置

config.assets.digest = true 

您可以設置爲false很好,但我不認爲它。

如果您無法觸及css for active_admin,則必須將active_admin升級到最新版本,然後重試。