Rails连接表

时间:2018-07-27 21:45:35

标签: ruby-on-rails associations

Rails 5.2

我有一个联接表offers_users

class Offer < ApplicationRecord
has_and_belongs_to_many :users

class User < ApplicationRecord
has_and_belongs_to_many :offers

如何让所有用户使用给定的offer.id?

@offer = Offer.find(params[:id])
@users = User.joins(:offers).where(id: @offer.id)

只给我第一个值。感谢您的支持。

1 个答案:

答案 0 :(得分:0)

给出offer_id就是这样:

users = Offer.find(offer_id).users

可选地,以下解决方案将产生一个sql查询而不是两个:

users = User.joins(:offers).where(offers: { id: offer_id })

我建议您阅读these guides以获得更多信息。