【问题标题】:Rails: Access members of a collection in a partialRails:以部分方式访问集合的成员
【发布时间】:2013-05-31 02:18:39
【问题描述】:

我有一个具有备用部分形式的子对象。除了this question,我还可以使用这样的部分形式来渲染对象:

<%= render 'child_items/alternate_partial', :collection => parent_item.child_items %>

但我似乎无法访问部分集合中的成员。使用时:

<%= render parent_item.child_items %>

部分可能只是去<%= child_item.property %> 并且一切正常。但是,当我以最佳方式执行此操作时(如果我想指定部分,我似乎必须这样做),任何对 child_item 的引用都会引发 NameError。如何获取partial里面的collection item?

【问题讨论】:

    标签: ruby-on-rails partials


    【解决方案1】:

    3.4.5 渲染集合中的 http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials 所述:
    当使用复数集合调用部分时,部分的各个实例可以访问集合的成员通过以局部命名的变量呈现。

    本例中,partial为_alternate_partial,在_alternate_partial partial中,可以参考alternate_partial获取实例正在渲染。

    【讨论】:

    • 谢谢。我试过了,当我尝试访问我得到undefined method 'some_method' for nil:NilClass的东西时。
    • 确保parent_item.child_items 存在并且您在child_items/alternate_partial 中调用<%= alternate_partial.property %>。我自己试过了,效果和预期一样。
    • parent_item.child_items 肯定存在于原始页面中。我什至做了一些古怪的事情,我将整个内容打印为哈希,但它发生在原始页面中,而不是部分页面中。顺便说一句,原始页面本身是否是部分页面是否重要?我想我要放弃并在父部分中渲染子部分。无论如何,它使它成为设计师和造型师的一站式商店。 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-28
    相关资源
    最近更新 更多