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升级到最新版本,然后重试。