Ruby on rails 如何查找记录并创建查询范围
我有两个模型 艺术家Ruby on rails 如何查找记录并创建查询范围,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有两个模型 艺术家 class Artist < ActiveRecord::Base has_many :photos, :as => :photoable, :dependent => :destroy def is_approved? self.admin_approve == true end end class-Artist:photoable,:dependent=>:destroy def是否获得批准? self.admin_ap
class Artist < ActiveRecord::Base
has_many :photos, :as => :photoable, :dependent => :destroy
def is_approved?
self.admin_approve == true
end
end
class-Artist:photoable,:dependent=>:destroy
def是否获得批准?
self.admin_approve==true
结束
结束
照片
class Photo < ActiveRecord::Base
belongs_to :photoable, :polymorphic => true
end
class-Phototrue
结束
我想找到(艺术家照片)管理员批准的照片是真的。如何编写该查询和范围
提前感谢您可以添加范围
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
@伊多,谢谢你,但我是按照这个方法做的
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
class-Phototrue
...
范围:批准艺术家照片,加入(“艺术家上的内部加入艺术家。id=photos.photoable_id和photos.photoable_type=‘艺术家’”)。其中(“艺术家。管理_批准=1”)
结束
我喜欢宝石。它允许轻松处理多态联接:Note.joins{signed(Person.articles}
。在您的情况下,它将是:加入{photoable(Artist)}。其中{artists.admin_approve==true}
。试试看。@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