使用关联搜索 - 轨道上的红宝石



>我有三个关联的表,我需要通过关联从我的 TransactionSara 表中获取所有数据。我需要事件表中的所有数据来获取表助手中的所有数据,然后从表TransactionSara获取所有数据

class Event < ActiveRecord::Base
  has_many :transaction_saras, through: :assistants
end
class Assistant < ActiveRecord::Base  
  has_many :transaction_saras, dependent: :destroy
  belongs_to :event
end
class TransactionSara < ActiveRecord::Base
  belongs_to :assistant
end

我试图用这个解决它

Event.all.each do |event|
  event.assistants.transaction_saras
end

但我收到一个错误:

undefined method `transaction_saras' for 
#<ActiveRecord::Associations::CollectionProxy []>

知道我该如何进行此搜索吗?

SO 上已经有多个答案,您需要包含关联的模型,以便在迭代它们时可以拥有关联的记录,

Event.includes(assistants: :transaction_saras).all.each do |event|
  p event.assistants # this will be a list of assistants for that event
  p event.assistants.first.transaction_saras.first
end

看看这里

您可以阅读轨道导轨上的活动记录关联

最新更新