2016-09-14 8 views
0

私は、Model Interestを持つonetooneを持つモデルProfileを持っています。どこでどこを使ってプロファイルの配列を照会すれば、最初に照会されたプロファイルに関連付けられたインタレストで構成される別の配列を得ることができますか?Ruby on Rails:見つかったオブジェクトのリレーショナルオブジェクトの配列をサブクエリする?

@foundInterests = @foundProfiles.Interest.all 

@foundProfiles = Profile.where(field: data) 

よう

何か、これは動作しませんが、それは私が取得しようとしているでしょう。

答えて

2
は、協会の

メイクの使用:あなたはInterest記録にさらに照会する必要がある場合は

@foundProfiles = Profile.includes(:interest).where(field: data) 
# Eager load interest to avoid n + 1 queries 

@foundInterests = @foundProfiles.map(&:interest) 

EDIT

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

@foundInterests = Interest.where(profile_id: @foundProfiles.map(&:id)) 

これはあなたを返します。 Interestレコードは@foundProfilesに関連付けられ、にチェーンすることができますそれに

+0

ありがとう、私は地図の機能について暗闇の中にいました。 –

+0

私はフォローアップを行うことができないようですが、@foundInterestsではどこでもエラーはありません。エラーは –

+0

できません。それはあなたを返す配列 –

関連する問題