2013-08-20 47 views
2

我想通過一個常規數組(而不是ActiveRecord)來迭代,並渲染使用每個元素的部分。Rails將數組傳遞給部分使用集合

在我看來(我使用超薄):

== render partial: "layouts/display_elements", collection: my_array 

我的部分(現在)只包含:

= "#{display_element}" 

不過,我發現了以下錯誤:

undefined local variable or method `display_element' for #<#<Class:0x007f7fe2e6ca58>:0x007f7fe51e0408> 

這是通過不使用ActiveRecord強加的限制?我必須求助於

= my_array.each do |e| 

回答

5

我不是很熟悉的超薄琅,但我認爲加入:as選項會爲你工作:

== render partial: "layouts/display_elements", collection: my_array, as: :display_element 

這將允許您訪問作爲局部變量中的display_item局部變量收集my_array