我设置了一个模型关系,当我使用类似于:
的代码时,一切都运行良好@parent.child.each do |item|
item.name
end
但是我怎么称呼那个id
的特定孩子例如。
儿童ID为14
想要一个像:
这样的电话@parent.child[childid].name #>>>>>> CHILD'S NAME
答案 0 :(得分:0)
@parent.child[14]
很可能无法正常工作,child
是一个数组,如果是has_many
关系,但数组索引与子ID不同。所以你可以这样做:
@parent.child.find(14).name
我不太确定,但如果你这样做:
@parent = Parent.find(some_id, :include => :child)
@parent.child.find(some_other_id) # should hit the query cache
答案 1 :(得分:0)
尝试:
@parent.children.detect { |child| child.id == 14 }
这应该在不查询数据库的情况下返回对象。然后,您可以在其上调用.name
方法。