Как реализовать рельсы mongoid простым поиском - PullRequest
1 голос
/ 02 марта 2012

С рельсами 3.2, mongoid

Я не хочу полнотекстовый поиск, я просто хочу найти одно поле в модели.

Например, у меня есть "Люди", с однимполе имени.

И я хочу иметь форму поиска.Например, я ищу «peter», если в базе данных есть точное совпадение (без учета регистра) поискового термина - «peter», то я хочу, чтобы он немедленно перенаправил на страницу peter show без вывода списка результатов дополнительного поиска.

Однако, если нет точного соответствия, то будут показаны предлагаемые результаты (в базе данных).

Пожалуйста, сообщите.

1 Ответ

0 голосов
/ 02 марта 2012

Вам нужно проверить, существует ли точное совпадение в первом случае, и использовать его после регулярного выражения, чтобы иметь некоторые возможности результата

user = User.where(:name => params[:name])
if user
  redirect_to user_url(user)
  return
else
  @users = User.where(:name => /params[:name]/i)
end
...