2017-11-24 18 views
2

結合テーブルがfavorit: trueとマークされているユーザーのグループを選択したいとします。結合テーブルからのデータへのアクセス

Userは、Groupsであり、結合テーブルUsersGroupを持ちます。 UsersGroupモデルの変数はgroup_iduser_idですが、変数favoritもあります。

ユーザーのお気に入りグループに電話したいと思います。しかし、私はそれを書く方法を知らない。

current_user.groups.joins(:users_group).where(:users_group => { :favorit => true }) 

&

current_user.groups.where(users_group.favorit == true) 

あなたがリクエストこの種のソリューションを持っていますか:

私はこのような何かを試してみましたか?

答えて

1

あなたは使用することができます。

current_user.user_groups.where(favorit: true)

あなたはここからグループにアクセスしたい場合は、上記の見つけuser_groupsからgroupを得ることができます。 I.

favorits = current_user.user_groups.where(favorit: true).includes(:group) 
favorits.map(&:group) 

お知らせ熱心な負荷にそこにincludesグループと任意のN + 1問題を回避。

お探しの商品がありますか?

+0

@SRackをお寄せいただきありがとうございます。それはまさに私が探しているものです! –

+1

あなたは歓迎します - 喜んで助けてください:) – SRack

関連する問題