0

モデル関係をセットアップしましたが、次のようなコードを使用するとすべてがうまく機能します。

@parent.child.each do |item|
item.name
end

しかし、IDが与えられた特定の子だけを呼び出すにはどうすればよいですか

例えば。

こどもIDは14

次のような電話を希望します:

@parent.child[childid].name #>>>>>> CHILD'S NAME
4

2 に答える 2

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
于 2010-08-29T13:36:18.060 に答える
0

試す:

@parent.children.detect { |child| child.id == 14 }

これにより、データベースにクエリを実行せずにオブジェクトが返されます。.nameその後、そのメソッドを呼び出すことができます。

于 2010-08-29T18:38:09.600 に答える