Создавайте свои собственные теги / функции с Erubis
У меня есть класс ruby, расширяющий Erubis (шаблонизатор ruby), и я хотел бы создать свои собственные теги. Ниже приведен пример того, что я хотел бы воспроизвести:
<%= link_to "/some/url" %>
Этот код должен генерировать HTML-тег 'a', ссылающийся на какой-либо URL. Теперь я хотел бы иметь возможность создавать свои собственные теги, такие как:
<%= javascript_file "/some/javascript/file" %>
который будет генерировать тег сценария, ссылающийся на какой-либо файл JavaScript по моему выбору.
Как я могу легко расширить Erubis, чтобы сделать это?
Спасибо за ваше время.
1 ответ
Решение
Это просто вызовы функций, которые возвращают тег в строку:
def javascript_file( file_path )
"<script src=\"#{ file_path }\" type=\"text/javascript\"/>"
end
Вам просто нужно убедиться, что функции находятся в области видимости во время вызова привязки.