Ruby / Rails - Kann ich eine verknüpfte Tabelle als Bereich(oder Methode der Klasse) als Teil meiner WHERE-Klausel?
Möchte ich greifen Sie alle Kategorien enthalten purchaseable products
.
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
So, ich bin versucht zu definieren :with_purchaseable_products
. Das funktioniert:
scope :with_purchaseable_products, joins(:products).where("products.available is true").group(:id).having('count(products.id) > 0')
Aber das ist nicht sehr TROCKEN. Gibt es eine Möglichkeit, um mein :purchaseable
Umfang zu products
in meinem :with_purchaseable_products
Umfang?
Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie die merge-Methode
Lesen Sie mehr auf http://asciicasts.com/episodes/215-advanced-queries-in-rails-3