Можете ли вы передать рубиновые объекты в haml во время рендера? - PullRequest
7 голосов
/ 06 марта 2012

Я пытаюсь создать шаблон haml, который использует некоторые данные из моего приложения ruby ​​для заполнения некоторого содержимого.Можно ли передать аргументы в haml, чтобы он правильно отображался?Вот как я получаю свой шаблон haml и отображаю его:

template = File.open('path/to/template.haml')
html = Haml::Engine.new(template.read).render

Итак, возможно ли передать объекты из локального сценария Ruby в файл шаблона, чтобы они правильно отображали страницу?Или я могу получить файл haml для извлечения объектов?

Если это не сработает, моя единственная другая идея - создать шаблон в виде локальной строки, которая кажется мне более утомительной.Итак, есть ли другой шаблон кодирования, который более эффективен для этой работы?

Ответы [ 2 ]

5 голосов
/ 06 марта 2012

Да,

Проверьте документы: http://haml.info/docs/yardoc/Haml/Engine.html#render-instance_method

  • (строка) render (scope = Object.new, locals = {}, & block)

передать их как местные жители

0 голосов
/ 14 июля 2017

Вот пример того, как сделать это с помощью ruby:

template = File.read('path/to/template.haml')
html = Haml::Engine.new(template).render(Object.new, :my_object => my_object)
...