2012-03-02 37 views
1

随着rails 3.2,mongoid如何实现mongoid轨道简单搜索

我不想全文搜索,我只是想搜索模型的一个领域。

E.g 我有一个只有名称字段的“People”脚手架。

我想要一个搜索表单。例如,我搜索“peter”,如果在数据库中存在搜索项 - “peter”的精确匹配(不区分大小写),那么我希望它立即重定向到peter显示页面而不列出更多搜索结果。

但是,如果没有完全匹配,则会显示建议的结果(在数据库中)。

请提醒。

回答

0

您需要测试是否完全匹配在第一种情况下存在和正则表达式使用后有结果的一些可能性

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

这是一个模型设置?你能告诉我如何设置控制器与此?谢谢。 – 2012-03-02 20:20:17

+0

这是您的控制器中的一个实现。做完你想要的结果后。 – shingara 2012-03-03 21:58:05