2011-03-14 63 views
10

在Ruby on Rails中like的語法是什麼?這是我想要做的事情:喜歡和在ruby中的條件

我想從表中找到所有從egm開始的姓,所以有些東西like %egm%。我知道如何使用find_by_sql,但只是想知道Ruby的方式。

s = Person.find_by_last_name('nan%') 

回答

12
l_name_var = "nan" 
Person.where("people.last_name LIKE :l_name", {:l_name => "#{l_name_var}%"}) 

或在您的情況

l_name_var = "egm" 
Person.where("people.last_name LIKE :l_name", {:l_name => "%#{l_name_var}%"}) 
12
Person.where('name LIKE ?', '%egm%').all 
3

擴大了一下,find_by_X方法使用=操作,這樣你就不會想用他們的條件一樣。 「Rails」方式涉及在where方法中使用一些SQL,如其他答案中所示。如果您嘗試使用訂單方法對結果進行排序,則同樣適用。