0
讓我們假裝我們有一個名爲Foo
的類的Rails項目位於lib
目錄中。從/ lib中的代碼呈現視圖
我們希望根據其屬性生成一些HTML。
現在,通過適當地連接HTML片段來創建一個大字符串,感覺不太正確。
我的問題是:有沒有一種有福的方式來做到這一點?
讓我們假裝我們有一個名爲Foo
的類的Rails項目位於lib
目錄中。從/ lib中的代碼呈現視圖
我們希望根據其屬性生成一些HTML。
現在,通過適當地連接HTML片段來創建一個大字符串,感覺不太正確。
我的問題是:有沒有一種有福的方式來做到這一點?
你有一對非常簡單的選項。如果您正在使用ERB,你可以這樣做:
ERB.new(File.read(the_file_path)).result
我使用一種叫做傾斜(https://github.com/rtomayko/tilt)庫在我的應用程序之一,渲染HAML模板。下面是我現在正在運行的確切香腸工廠代碼:
template = Tilt.new(ITEM_TEMPLATE) # ITEM_TEMPLATE is the path of a .haml file
template.render nil, {:item => item, :item_details => item_details}
# item and item_details are now available as local variables in the partial
如果你不想去的模板路線,你可以嘗試像架橋機(http://erector.rubyforge.org/ userguide.html)。
最壞的情況:不是串聯片段,您可以使用HEREDOC很好地格式化:
<<-HTML
<div id="foo">
<span class="bar">#{thing.method}</span>
<div>#{thing.attribute}</div>
</div>
HTML
非常感謝你,@Kyle。 –