Создавайте свои собственные теги / функции с Erubis - PullRequest
0 голосов
/ 11 февраля 2010

У меня есть класс ruby, расширяющий Erubis (шаблонизатор ruby), и я хотел бы создать свои собственные теги. Ниже приведен пример того, что я хотел бы воспроизвести:

<%= link_to "/some/url" %>

Этот код должен генерировать HTML-тег 'a', ссылающийся на какой-либо URL. Теперь я хотел бы иметь возможность создавать свои собственные теги, такие как:

<%= javascript_file "/some/javascript/file" %>

, который сгенерирует тег скрипта, ссылающийся на какой-то файл JavaScript по моему выбору.

Как я могу легко расширить erubis для этого?

Спасибо за ваше время.

1 Ответ

1 голос
/ 11 февраля 2010

Это просто вызовы функций, которые возвращают тег в строке:

def javascript_file( file_path )
    "<script src=\"#{ file_path }\" type=\"text/javascript\"/>"
 end

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

...