2012-03-06 54 views
7

我試圖創建一個haml模板,它使用我的ruby應用程序中的一些數據來填充一些內容。是否有可能將參數傳入haml以使其正確呈現?下面是我如何得到我的HAML模板,使其:你可以在渲染過程中將紅寶石物體傳遞給haml嗎?

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

那麼,是不是可以從本地Ruby腳本對象傳遞到模板文件,使他們在頁面正確呈現?或者,我可以讓haml文件拉入對象嗎?

如果這不起作用,我唯一的想法是將模板建立爲本地字符串,這對我來說似乎更乏味。那麼,這種工作是否有更高效的編碼模式?

回答

5

是,

檢查文檔: http://haml.info/docs/yardoc/Haml/Engine.html#render-instance_method

  • (字符串)呈現(範圍= Object.new,當地人= {},&塊)

將它們作爲當地人

+0

據我所知,「本地人」必須是一個散列......而我即將着手獲取對象的json樹進入該渲染方法 不可否認,我還沒有嘗試過它,但是這是一個限制嗎? – PandaWood 2016-07-16 06:26:53

0

這裏是一個如何使用ruby做的例子:

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