Похоже, что не так много документации по обработчикам шаблонов Rails. Есть включенные обработчики, такие как RJS, ERB и Builder, которые предлагают некоторую помощь.
Я пытаюсь реализовать свой собственный, и мне это удалось, хотя и с небольшим количеством странного кода, или, возможно, есть кое-что, что я не совсем понимаю.
class MyHandler < ActionView::Template::Handler
def call(template)
template.source.inspect
end
end
Так что странно, что я должен вызвать inspect
, иначе Rails попытается оценить строку как код Ruby.
У меня сложилось впечатление, что это то, что сделал include ActionView::...::Compilable
(чего я не включил в свой код).
Теперь, если я сделаю свой шаблон "компилируемым" (используя оператор include...
), он все равно будет искать метод call
вместо метода compile
.
Так может ли кто-нибудь объяснить мне немного больше о том, как это работает?
Спасибо!