I have the following scope:
scope :comments, :conditions => [\'text_value IS NOT NULL\']
But I also want the conditions to say \"OR text_val
As Erwin points out, a simple text_value <> ''
comparison will work in this case.
scope :comments, where("text_value <> ''")
(Rails 3 prefers this query syntax for scope
—as well as find
, all
, etc.—rather than an options hash e.g. :conditions => ...
. The latter is deprecated in Rails 3.1.)
In Rails 4, the second argument should be a lambda instead:
scope :comments, ->{ where("text_value <> ''") }