试图在Rails中过滤ActiveRecord has_many Association

时间:2014-06-10 02:46:14

标签: ruby-on-rails activerecord

我有一个用户模型,其中:

has_many :messages, -> { where('flag > ?', -99).order('posted desc') }

我想要忽略标志值为-100的任何消息。排序(似乎)有效,但标志where子句没有。

我是否错误地使用了这个,或者我是否尝试做一些不可能的事情?如果是这样,我该怎么做?

1 个答案:

答案 0 :(得分:0)

-100不大于-991小于-99。要忽略-100的标记值,您可以执行以下操作:

where('flag != ?', -100)

您的has_many声明将是:

has_many :messages, -> { where('flag != ?', -100).order('posted desc') }