Могу ли я использовать несколько препроцессоров в представлениях Rails? - PullRequest
2 голосов
/ 22 марта 2012

Используя Rails 3.2, вы можете заставить файлы в конвейере ресурсов использовать несколько препроцессоров, добавив несколько расширений файлов, таким образом: index.css.scss.erb

Я попытался сделать это с видом (index.html.slim.erb), и он, похоже, не знал, что делать (точнее, он просто не нашел представление вообще).

Действительно ли Rails не пропускает представления через Tilt? Есть ли другой способ заставить просмотр работать через один препроцессор, а затем другой?

(Контекст: я работаю над тем, что предназначено для изменения HTML-кода перед его возвратом, поэтому я хочу, чтобы он запускался после haml / slim / erb.)

1 Ответ

2 голосов
/ 22 марта 2012

Действительно, вы не можете.Rails не использует наклон для шаблонов представления.

Одна из причин, по которой ему было бы сложно это сделать, заключается в том, что при нормальной работе ERB фактически «компилирует» код ruby, а не текст, для производительности.То есть, шаблон erb компилируется один раз в живой код ruby, который затем выполняется каждый раз, когда он должен отображаться в другом контексте.

Я не знаю, как сделать то, что ты хочешь.Вы, конечно, можете свернуть свои собственные.Никто не говорит, что у вас есть для вызова "render 'template'" для визуализации.Не забывайте, что вы всегда можете

render :text => any_method_that_returns_a_string

Вы можете сами проходить через Тилт.Вы можете увидеть некоторое снижение производительности по сравнению с тем, что обычно делает Rails.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...