Ресурсы Rails 3.1 не загружаются должным образом в производстве для ActiveAdmin - PullRequest
0 голосов
/ 03 ноября 2011

Я использую ActiveAdmin с Rails 3.1.Единственные изображения (которые мне известны), которые использует этот драгоценный камень, - это сортировка стрелок в строках заголовков таблиц.В процессе разработки CSS правильно ссылается на эти изображения:

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'

Ответы [ 2 ]

0 голосов
/ 22 ноября 2011

В результате возникла проблема , отправленная в git-репозиторий ActiveAdmin. Решение (для меня) состояло в том, чтобы обновить мой самоцвет sass-rails до 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 голосов
/ 03 ноября 2011

Вы должны использовать 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 помещает виджеты во все активы, потому что эта переменная установлена ​​в production.rb

config.assets.digest = true

Вы также можете установить это в false, но я не предлагаю это.

Если вы не можете коснуться css для active_admin, вам нужно обновить active_admin до последней версии и повторить попытку.

...