Rails has_and_belongs_to_many 关联的条件

Rails where condition on has_and_belongs_to_many association

我在产品和供应商之间有 has_and_belongs_to_many 关联。

加入table是products_suppliers

我正在尝试在表单中创建依赖 select,这样当我 select 供应商时,在产品下拉列表中只会出现相应的产品。

我对 where 条件有疑问。

如果我处在产品 belongs_to 供应商的情况下,我会这样做:

 @products = Product.where("supplier_id = ?", params[:supplier_id])

如何在 has_and_belongs_to_many 关联中实现同样的效果?

因为您有 has_and_belongs_to_many 关联,您可以在 Supplier 实例上调用 .products

这应该可以解决问题

@products = Supplier.find(params[:supplier_id]).products

使用此代码:

supplier = Supplier.find_by(supplier_id: params[:supplier_id])
@products =supplier.products if supplier.present?