2016-06-28 7 views
0

例えば、Companyhas_manyemployeesであり、それがhas_manypostsであるとします。 Companyhas_manycontractors.これは少し無意味であるが、私は、postsで開始し、contractorsに行きたいとしたら、私は、私は単にcompany.contractorsモデルアソシエーションを上下に移動する

+1

なぜ* *できませんでしたか?複数のクエリのためにここに示されているように、かなり非効率的である可能性が高いことに注意してください。 –

+0

私は、構成方針に対する規則の慣習に苦しむ前に、それを数回自分で言いました。私が知っている限り、それはうまくいくでしょう。 –

+0

別の悪いことは、あなたが何らかの理由で 'post.employee'を持っていないと想像してください。 'post.employee.company.contractors?'を呼び出すと、それは爆発するでしょう。 – dpedoneze

答えて

1
を行うことができたという事実を無視して

non_employees = post.employee.company.contractors? 

ような何かを行うことができます

has_manybelongs_toの両方を使用することを忘れない限り、どちらのモデルでどちらが適切かによって、動作します。

パフォーマンスが問題でない限り、コードをできるだけ表現力豊かにすることをお勧めします(よくあなたの例が実際にはあまりにも多いかもしれません...)。

+0

答えに感謝します! –

関連する問題