0

私は2つのモデルを持っています

アーティスト

class Artist < ActiveRecord::Base
   has_many :photos, :as => :photoable, :dependent => :destroy

   def is_approved?
     self.admin_approve == true
   end
end

写真

  class Photo < ActiveRecord::Base
    belongs_to :photoable, :polymorphic => true
  end

(Artists photo)admin_approveがtrueである写真を見つけたいです。そのためのクエリとスコープを作成するにはどうすればよいですか。

前もって感謝します

4

2 に答える 2

0

@jdoe、ありがとう、でも私は次のようにしました

class Photo < ActiveRecord::Base
  belongs_to :photoable, :polymorphic => true
    ...
  scope :approve_artists_photo, joins("Inner Join artists on artists.id = photos.photoable_id AND photos.photoable_type = 'Artist'").where("artists.admin_approved = 1")
end
于 2012-12-20T08:47:48.607 に答える
-1

スコープを追加できます

class Artist < ActiveRecord::Base
   has_many :photos, :as => :photoable, :dependent => :destroy

   scope :approved, where(:admin_approve => true)

   def is_approved?
     self.admin_approve == true
   end
end

そして、写真を次のように取得します

Artist.approved.photos
于 2012-12-20T07:17:43.757 に答える