0

共通の親にbelongs_to関係を持つ2つのモデルがあります。現在、私はこのようなことをしています。

child.parent.other_children

parent_idこれを行うと、親に対してSELECTクエリが作成されます。これは、すでにinを持っているため、必要ありませんchild。私が疑問に思っているのは、これだけでなく、もっと良い書き方があるかどうかです。

OtherChildren.find :parent_id => child.parent_id
4

1 に答える 1

0

あなたのやり方では無理です。主な理由は、オブジェクト指向の視点から、親をロードしてそのメソッドにアクセスすることがあなたがしていることだからです。

ただし、ビューを少し変更するとother_childrenchildオブジェクトからアクセスしようとしています。そのクラスに新しいメソッドを作成してみませんか?

def siblings
  OtherChildren.find :parent_id => self.parent_id
end
于 2012-09-05T19:03:02.940 に答える