19
我想抓住所有可購買的類別products
。Ruby/Rails - 我可以使用連接的表的作用域(或類方法)作爲我的WHERE子句的一部分嗎?
class Product < ActiveRecord::Base
belongs_to :category
scope :purchaseable, where(:available => true)
end
class Category < ActiveRecord::Base
has_many :products
scope :with_purchaseable_products, ?????
end
所以,我想要定義:with_purchaseable_products
。這工作:
scope :with_purchaseable_products, joins(:products).where("products.available is true").group(:id).having('count(products.id) > 0')
但這不是很乾。有沒有辦法在我的:with_purchaseable_products
範圍內將我的:purchaseable
範圍應用於products
?
謝謝。
兩個額外的引用:https://gorails.com/blog/activerecord-merge和http://apidock.com/鐵軌/ ActiveRecord的/ SpawnMethods /合併 – Miguelgraz