让我们假设我们有一个Rails项目,其中一个名为Foo
的类驻留在lib
目录中。
我们希望根据其属性生成一些HTML。
现在,通过适当地连接HTML片段来创建一个大字符串并不是一件好事。
我的问题是:有没有幸运的方法呢?
答案 0 :(得分:3)
你有几个非常简单的选择。如果您正在使用ERB,您可以执行以下操作:
ERB.new(File.read(the_file_path)).result
我在我的一个应用程序中使用了一个名为Tilt(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
如果你不想走模板路线,也可以试试像Erector(http://erector.rubyforge.org/userguide.html)这样的东西。
最糟糕的情况:您可以使用HEREDOC很好地格式化片段,而不是连接片段:
<<-HTML
<div id="foo">
<span class="bar">#{thing.method}</span>
<div>#{thing.attribute}</div>
</div>
HTML