Rails根据父模型属性过滤子模型的记录

以下是1对M型号:

class FotoGossip < ActiveRecord::Base has_many :uploads attr_accessible :published_at, ... end class Upload < ActiveRecord::Base belongs_to :foto_gossip end 

现在我想要Uploads.all的条件:published_at NOT NULL相应的上传的父模型?

只需将其添加到您的上传模型:

 named_scope :with_published_foto_gossip, :joins => :foto_gossip, :conditions => "foto_gossips.published_at IS NOT NULL" 

那么你可以像上面这样发布foto_gossip的所有上传内容:

 Upload.with_published_foto_gossip