我想通过模型的实例变量来确定模型的has_many
关系。如何在has_many关联范围内访问模型的实例变量?
我有这样一个模型:
class Category < ActiveRecord::Base
has_many :products, -> { where(product_type: @product_type) }
attr_accessor :product_type
然后我会做这样的事情:
category = Category.find(id)
category.product_type = 'type'
category.products # expected output: SELECT * FROM `products` ... WHERE `product_type` = 'type'
在片段给,问题是,范围正在试图获得@product_type
从ActiveRecord::Relation
而不是模型本身。
如何使其按照预期工作?