Rails 3.1 - Как разделить CSS / JS между обычным приложением и гемом active_admin - PullRequest
3 голосов
/ 24 октября 2011

Мое приложение развернуто на Rails 3.1 и на Heroku.

1. В production.rb, если у меня только config.assets.compile = true, то работает active_admin. Тем не менее, в производственном процессе я хочу config.assets.compile = false для обычных приложений CSS и JS. Активный модуль администратора будет использоваться только администратором, поэтому он может работать медленно.

2. Более того, с тех пор, как я установил гем active_admin, мой обычный CSS сильно пострадал.

Следовательно, я хочу как-то разделить CSS и JS active_admin и обычного приложения так, чтобы:

1. Только когда я нажимаю localhost:3000/admin, CSS и JS активных администраторов нажимают, а CSS обычных приложений - нет. Когда я нахожусь по любому другому URL, то CSS и JS обычных приложений обращаются, а активные администраторы - нет.

2. Я могу config.assets.compile = false для обычного приложения CSS и JS, в то время как сделать его config.assets.compile = true только для active_admin.

Возможно ли это?

1 Ответ

6 голосов
/ 24 октября 2011

Хорошей новостью является то, что вы можете установить для .compile значение false для обоих, и оба будут работать быстро!

Активный администратор использует собственные манифесты, которые начинаются с 'active_admin'. По умолчанию они не будут предварительно скомпилированы Rails.

Чтобы их предварительно скомпилировать, вам нужно добавить эти файлы в массив прекомпиляции в production.rb:

config.assets.precompile += ['active_admin.js', 'active_admin.css']

Это создаст файлы в папке / assets и позволит вам постоянно устанавливать для .compile значение false.

Не забудьте также установить:

config.assets.digest = true

...