如何从has_many关联中获取belongs_to关联

时间:2014-05-26 23:01:53

标签: ruby-on-rails rails-activerecord

我有很多相关的模型,而且我不知道如何获得通过所有模型的关联。

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关联?

1 个答案:

答案 0 :(得分:0)

如果我理解你很好,你可以这样做:

@trip.services.where(itinerary_id: your_selected_itineraries.ids)

Haven没有尝试过这段代码,因为我并不接近我的rails机器,但我认为它应该可行。