В RAILS 2.3 (для помощи с инъекцией используются параметры вместо чистого кода SQL)
Model.all(:conditions=>['name LIKE ? OR name like ?','%'+@term_one+'%', '%'+@term_two+'%'])
Мне также очень нравится использовать Condition Builder для ActiveRecord в проектах RAILS 2.x, потому что вы можете сделать:
Condition.block{|c|
c.and :published, true
c.and {|d|
d.or :full_text, "LIKE", "%#{options[:qs]}%"
d.or :full_text, "LIKE", "%#{options[:qs]}%"
}
end
Примечание. Пользователям Postgres следует использовать ILIKE (без учета регистра) вместо LIKE.
Примечание 2: Rails 3.0 будет использовать цепочку предложений where, что довольно круто, и вскоре должен быть добавлен оператор OR ActiveRelation GitHub - но он будет выглядеть как User.where (: name => 'bob'). or (: name => 'same')