通过两个has_many关联获取一个对象数组

时间:2015-05-05 02:06:24

标签: ruby-on-rails associations

我有:

class Booking < ActiveRecord::Base

   belongs_to :job
   has_many :items

 end

我想获得给定@job的项目列表。该解决方案有效:

 @items = []

 @job.bookings.each do |booking|
     booking.items.each do |item|
         @items << item
     end
 end

但我怎样才能更简洁地做到这一点?例如:

 @job.bookings.map{ |booking| booking.items }

1 个答案:

答案 0 :(得分:2)

在您的Job课程中:has_many :items, through: :bookings,然后您可以直接致电@job.items