用戶has_one UserProfile has_one社區。rails 3.1:activerecord如何通過has_one連接的3個表系列進行查詢?
給定一個community_id,我需要Users表中的電子郵件列表。
如何獲取所有User.email的列表,其中community_id = 5?
我能找到的最好的(它的工作)是:
User.select(:email).joins(:user_profile).merge(UserProfile.for_community(5))
但似乎蠻力...有沒有辦法做的東西沿着這下方的線條更簡單?
User.user_profile.community(5)
AFAIK如果UserProfile has_one社區,那麼UserProfile有一個名爲community_id的字段 - 而不是其他方式 - 對嗎? – jpwynn 2012-03-13 05:16:36
不是。如果ModelX has_one:model_y,則外鍵model_x_id應位於model_ys表中。 – Max 2012-03-13 11:03:51
感謝您指導我正確的方向,這是我遇到的另一個問題的來源。 – jpwynn 2012-03-13 17:03:50