我收到了一些有点神秘的错误信息
ActiveRecord :: ConfigurationError 1
尝试执行@invoices = invoice.joins(pos: [vendor_id: 1])
我正在尝试调用属于供应商1的PO的所有发票。
我的模型设置如下: 供应商可以拥有多个采购订单,采购订单可以包含多个发票
class Vendor < ApplicationRecord
has_many :pos
class Po < ApplicationRecord
belongs_to :vendor
has_many :items, :dependent => :destroy
has_many :invoices
class Invoice < ApplicationRecord
belongs_to :po
我认为ActiveRecord :: ConfigurationError是
在未正确配置关联或用户尝试关联时引发 使用偏移和限制与ActiveRecord :: Base.has_many或 ActiveRecord :: Base.has_and_belongs_to_many association。
但我无法弄清楚我的协会有什么问题。有什么想法吗?
答案 0 :(得分:0)
我认为你的关联是好的...我认为你的陈述很糟糕,通常当我需要这样查询时,我会求助于一个小的SQL条款,因为它太复杂或太平了很难读懂。
试试这个(注意发票中的大写字母I):
vendor_id = 1
@invoices = Invoice.joins(:po).where("pos.vendor_id = ?", vendor_id)