Я только что посмотрел Railscast о простой форме поиска , и я хочу сделать что-то подобное в своем приложении, но я не хочу находить только результаты, которые точно соответствуют.
У меня есть модель с именем Project
со следующими полями:
name
, description
, keyword1
и keyword2
.
Учитывая код, полученный из railscast:
models/project.rb
def self.search(search)
if search
find( :all, :conditions => ['name LIKE ?', "%#{search}%"] )
else
find(:all)
end
end
Если я хочу найти «Пицца», и я бы хотел эточтобы сопоставить проект с именем «Master Pizza Project» с keyword1 => «MasterPizza» и keyword2 => «Pizza», как бы я провел рефакторинг вышеуказанного кода?
Кроме того, является ли проблема чувствительностью к регистру?