使用haml partial循环显示
Using haml partial to loop through and display
使用 Haml 和 Sinatra,给定一个数组,使用部分显示每个元素的最佳方法是什么?
例如,如果我定义一个助手:
#controller.rb
helpers do
def showAllLines()
@multipleLines.each { |l|
@partialvar = l
haml :partialview, :layout => false }
end
end
...这基本上是一遍又一遍地调用局部视图,这不是我想要的。我真的宁愿将每个部分结果附加到另一个视图,该视图使用 showAllLines()
助手:
-# index.haml
=showAllLines
如何使用助手和局部视图让 @multipleLines
的每个元素显示在 index.haml
中?
我会把循环放在 haml 中。这就是为什么我喜欢 haml 而不是 erb。在视图中放一些编程看起来不像废话。
-# index.haml
- @multipleLines.each do |oneLine|
.oneLine
= oneLine.someData
= oneLine.someOtherData
此外,我更愿意将 multipleLines
作为局部变量传递给视图,而不是使用实例变量。它使您的代码更加可靠。如果你仍然想在自己的部分中有一行,你可以在 index.haml
.
的循环内部调用 render :partial
一些东西
使用 Haml 和 Sinatra,给定一个数组,使用部分显示每个元素的最佳方法是什么?
例如,如果我定义一个助手:
#controller.rb
helpers do
def showAllLines()
@multipleLines.each { |l|
@partialvar = l
haml :partialview, :layout => false }
end
end
...这基本上是一遍又一遍地调用局部视图,这不是我想要的。我真的宁愿将每个部分结果附加到另一个视图,该视图使用 showAllLines()
助手:
-# index.haml
=showAllLines
如何使用助手和局部视图让 @multipleLines
的每个元素显示在 index.haml
中?
我会把循环放在 haml 中。这就是为什么我喜欢 haml 而不是 erb。在视图中放一些编程看起来不像废话。
-# index.haml
- @multipleLines.each do |oneLine|
.oneLine
= oneLine.someData
= oneLine.someOtherData
此外,我更愿意将 multipleLines
作为局部变量传递给视图,而不是使用实例变量。它使您的代码更加可靠。如果你仍然想在自己的部分中有一行,你可以在 index.haml
.
render :partial
一些东西