问题
Following are the 1-to-M models:
class FotoGossip < ActiveRecord::Base
has_many :uploads
attr_accessible :published_at, ...
end
class Upload < ActiveRecord::Base
belongs_to :foto_gossip
end
Now I want the Uploads.all with the condition :published_at NOT NULL of the corresponding upload's parent model?
回答1:
Just add this to your Upload model:
named_scope :with_published_foto_gossip, :joins => :foto_gossip, :conditions => "foto_gossips.published_at IS NOT NULL"
then you can get all the uploads with published foto_gossip like this:
Upload.with_published_foto_gossip
来源:https://stackoverflow.com/questions/1687406/rails-filter-records-of-child-model-based-upon-the-parent-model-attribute