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)
只给我第一个值。感谢您的支持。
答案 0 :(得分:0)
给出offer_id
就是这样:
users = Offer.find(offer_id).users
可选地,以下解决方案将产生一个sql查询而不是两个:
users = User.joins(:offers).where(offers: { id: offer_id })
我建议您阅读these guides以获得更多信息。