Отправленная вами строка верна. Кроме того, нет возможности выразить одно и то же условие с помощью массивов или хэшей.
Array – синтаксис и Hash-синтаксис полезны, когда вам нужно интерполировать значения. Например, следующее условие
named_scope :is_one, :conditions => "field = '1'"
можно записать как
named_scope :is_one, :conditions => ["field = ?", "1"]
или
named_scope :is_one, :conditions => { :field => "1" }
Hash-синтаксис является подмножеством Array-синтаксиса и поддерживает только ограниченный набор операторов.
Например, вы можете преобразовать
named_scope :is_one, :conditions => ["field1 = ? AND field2 IN (?)", "1", ["foo", "bar"]]
в
named_scope :is_one, :conditions => { :field1 => "1", :field2 => ["foo", "bar"] }
но нет хэш-эквивалента для
# OR
named_scope :is_one, :conditions => ["field1 = ? OR field2 IN (?)", "1", ["foo", "bar"]]
# <>
named_scope :is_one, :conditions => ["field1 <> ?", "1"]