2014-01-31 46 views
1

在我的應用程序中,我有一個搜索輸入,我想用它來查找可以匹配搜索輸入內容的用戶。在用戶模型中搜索rails

我的用戶表有:姓名,名稱的列

讓我們說:我找的「Elthon約翰」

-i可以在輸入類型「Elthon」或「約翰」(所以我將使用的還是我的軌查詢中:名稱,比如%搜索%或姓類似%搜索%)

  • 問題是,當我鍵入整個「Elthon約翰」我的搜索裏面輸入,我怎麼可以編寫一個查詢那可以找到那條線。

感謝

+0

很難理解你的表格佈局。用戶只有'firstname'和'name'?你的意思是「姓氏」?如果你顯示你的模式,這將有所幫助。 – Alexander

+0

是的,我的意思是姓氏 – user3242743

+0

[查詢查找列字符串的子字符串]的可能重複(http://stackoverflow.com/questions/21471384/query-finding-columns-that-are-substring-of-a-字符串欄) –

回答

0

事情是這樣的,如果我理解正確。

@users = User.all 
@users.each do |u| 
    search_name = u.firstname + ' ' + u.lastname 
    if text_input == search_name 
    #grab u.id and do what you need with it 
    end 
end 
+0

謝謝,我怎麼能使它返回相同的'東西'find()(鐵軌的defualt方法)? – user3242743

+0

'User.find_by(id:u.id)' – Alexander

+0

但是,如果很多ID匹配? – user3242743