我有很多相关的模型,而且我不知道如何获得通过所有模型的关联。
Trip.rb
has_many :itineraries
has_many :services, :through => :itineraries
Itinerary.rb
belongs_to :Service
def selected
# can be true or false
end
Service.rb
has_many :itineraries
如果我只想要Service
的完整列表,我可以拨打@ trip.services。但是,我想要的只是Itineraries
中选择的服务列表。我可以运行@ trip.itineraries.pluck(:service),但只返回一个常规的旧数组。是否有可能以这种方式获得Services
对象的AR关联?
答案 0 :(得分:0)
如果我理解你很好,你可以这样做:
@trip.services.where(itinerary_id: your_selected_itineraries.ids)
Haven没有尝试过这段代码,因为我并不接近我的rails机器,但我认为它应该可行。