具有否定条件的ActiveRecord find()

时间:2011-01-30 21:02:53

标签: ruby-on-rails activerecord

我似乎无法找到像我这样简单问题的解决方案。

Sitemap.find(:all, :conditions => { :controller => 'sample', :action => '!index' })

现在显然了!在'索引'不属于那里,但我把它放在那里说明我想要任何结果除了'索引'。我尝试过类似下面这一行的内容,但每当我尝试它时,我都会遇到服务器错误。

Sitemap.find(:all, :conditions => { :controller => 'sample', "action <> 'index'" })

1 个答案:

答案 0 :(得分:2)

使用数组语法:

Sitemap.all(:conditions => ["controller = ? AND action <> ?", 'sample', 'index']

哈希语法仅在您检查相等性时才有用。