【问题标题】:Rails: how can I pass a collection as :object to render() without it iterating over it for me?Rails:如何将集合作为 :object 传递给 render() 而不为我迭代它?
【发布时间】:2011-01-20 10:59:19
【问题描述】:

我有一个部分,我用render(:partial => "list", :object => my_collection) 渲染它看起来像这样:

<ul>
<% list.each do |l| %>
<li>l</li>
<% end %>
</ul>

但是,当我运行它时,我发现传递给部分的实际上是 my_collection 的孩子之一,而不是集合本身。大概这是一个实现“为集合中的每个项目渲染一个部分”的 Rails 魔术,但在这种情况下,我想将集合本身​​传递进去。我怎么能做到这一点,而不使用成员变量?

【问题讨论】:

    标签: ruby-on-rails templates partial


    【解决方案1】:
    :locals => {:list => my_collection}
    

    而不是 :object。 :object 用于为对象的每个成员渲染部分。

    【讨论】:

      猜你喜欢
      • 2018-10-25
      • 1970-01-01
      • 2018-10-01
      • 1970-01-01
      • 2021-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多