我的JST模板中的几个选择元素依赖于db来填充选项。我可以将导轨部分拉入模板吗?这样做的最佳方式是什么?
例如像这样的部分:
_font_faces.html.haml
.font_face
= select("font", "style", Font.all.collect {|f| [ f.name, f.id ] })
答案 0 :(得分:2)
这个问题的答案是,你不想把这种逻辑放在你的视图中。应该有一个单独的主干集合,一个字体集合,而不是在视图中调用db。
答案 1 :(得分:1)
如果您将其命名为choices.jst.eco.haml,则资产管道将编译从文件扩展名向后的文件。因此,HAML编译器将首先运行,然后运行ECO编译器,然后JST gem将所有编译的代码抛出到您可以在视图中引用的JST对象。