1

В моем приложении rails у меня есть 3 макета для разных пользователей. Каждый макет содержит некоторые javascript и css-файлы, включенные в него.Предварительная компиляция активов в разных макетах - Рельсы

Я не могу использовать следующую строку в моем application.js или application.css файл

//= require_tree . or *= require_tree . 

Когда я предварительно собрать все мои JS и CSS каждая вещь получить нарушенные на моем сайте.

Но я хочу скомпилировать все мои js и css-файлы, но компиляция тогда вместе не работает. Потому что, когда я скомпилирую все файлы css вместе, некоторые из моих классов переопределяются другими классами.

Даже несмотря на предварительную компиляцию моих активов, это не дает мне никакой ошибки.

или я могу включить только те файлы в application.js или application.css, которые являются общими в 3 макетах. как этот

//= require jquery-1.8.3 
//= require jquery-migrate-1.0.0.js 
//= require jquery-ui.js 

Но что, если я хочу заранее собрать мои другие JS или CSS файлы, которые не являются общими в макетах? Любое решение?

+1

Я получил решение от этого http://stackoverflow.com/questions/8563651/rails-3-1-exclude-js-files -from-asset-pipe – Ashwini

ответ

0

В config/среды/production.rb вы можете установить, что же вы хотите перекомпилировать

config.assets.precompile << %w(admin.js admin.css user.js user.css) 
+1

Да, но когда я предварительно скомбинирую все файлы css, некоторые классы переопределяют. Я этого не хочу. – Ashwini

+1

Дайте им определенные имена, некоторые префикс, чтобы избежать переопределения – jirikolarik

0

От всего, что я могу получить, я думаю, что вы хотите иметь разный макет для разных пользователей. вам нужно удалить дерево из файлов application.css и application.js и потребовать все файлы, которые вы хотите иметь в своем приложении, а затем для конкретных пользователей вы можете просто отобразить этот макет

+0

Я обрабатываю макет для конкретного пользователя, но js или css, которые не включены в файл приложения. Как я могу скомпилировать эти файлы? – Ashwini

+0

Хорошо, извините, я понял это неправильно и вернусь к вашему вопросу, зачем вам нужны другие файлы css и js. Они предназначены только для ваших определенных классов и идентификаторов. Я думаю, что лучший подход заключался бы в добавлении некоторого префикса или суффикса в ваш класс и идентификатор, чтобы указать, какого пользователя вы хотите, а затем нацеливать на эти классы и идентификаторы – Mandeep

Смежные вопросы