2012-03-02 44 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