>我有三个关联的表,我需要通过关联从我的 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
看看这里
您可以阅读轨道导轨上的活动记录关联