从Rails ActiveRecord中的结果中排除一些ID

我有一些部分的查询文章的以下声明

Article.all(:joins => :sections, :conditions => { :sections =>{ :id => [3, 4, 6, 7, 8, 9] }, :id_not_in => @some_ids }, :limit => 4) 

变量@some_ids是包含必须从结果中排除的文章ID的数组。

如果Article has_many :sections ,请尝试:

 Article.find(:all, :joins => :sections, :conditions => ["sections.id IN (?) AND id NOT IN (?)", [1,2,3], @some_ids], :limit => 4) 
 Article.all(:joins => :sections, :conditions => [ 'sections.id in ? and sections.id not in ?', [3, 4, 6, 7, 8, 9], @some_ids ], :limit => 4) 

未经测试