问题我的模型中有很多问题,由于某种原因,我一直收到这个错误,非常感谢您的帮助。
错误
ActiveRecord::HasManyThroughAssociationNotFoundError (Could not find the association #<Proc:0x0055e57679b2b8@/home/dev/testapp/app/models/work_order.rb:12> in model WorkOrder)
:
has_many :demand_supply_links,
:through => proc {"select * from demand_supply_link
where supply_type = 'WO'" +
" and supply_base_id = '" + "#{base_id}" +
"' and supply_lot_id = '" + "#{lot_id}" +
"' and supply_split_id = '" + "#{split_id}" + "'"}
我在哪里使用波谷关联
def setup(session)
if !@work_order.nil?
@demand_supply = @work_order.demand_supply_links.first
end
end
为什么不为其定义一个方法而不是has_many :through
?例如
def demand_supply_links
DemandSupplyLink.where(supply_type: 'WO',
supply_base_id: base_id,
supply_lot_id: lot_id,
supply_split_id: split_id)
end
这将执行与您请求的操作相同的操作,并且不涉及原始SQL。它还将比字符串串联更好地处理卫生问题。