2016-06-28 58 views
0

例如,說我有一個Companyhas_manyemployees,其中has_manypostsCompanyhas_manycontractors.這是一個有點無厘頭,但如果我開始在posts和想去contractors,我可以這樣做向上和向下移動模型協會

non_employees = post.employee.company.contractors? 

忽略了一個事實,我可能只是簡單地做company.contractors

+1

爲什麼*不能*你?請注意,由於多個查詢,這可能會非常低效,如此處所示。 –

+0

我已經說過,我自己有幾次在通過Rails的慣例優化配置策略之前得到了保護。那麼只要我知道它會起作用。 –

+0

另一件壞事是,想象你出於某種原因沒有'post.employee'。當你打電話給'post.employee.company.contractors?'時,它會爆炸。 – dpedoneze

回答

1

只要您記得同時使用has_manybelongs_to,...取決於哪種模式適用,它的工作原理!

我建議儘可能表達你的代碼,除非性能是一個問題(以及你的例子可能真的太多了...)。

+0

感謝您的回答! –