Ruby on Rails中的语法是什么?这是我正在尝试做的事情:
我试图找到表格中的所有姓氏,这些姓氏以egm开头,所以like %egm%
。我知道如何使用find_by_sql但只是好奇地知道Ruby方式。
s = Person.find_by_last_name('nan%')
答案 0 :(得分:15)
Person.where('name LIKE ?', '%egm%').all
答案 1 :(得分:13)
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}%"})
答案 2 :(得分:3)
要扩展一点,find_by_X
方法使用=
运算符,因此您不希望将它们用于类似条件。 “Rails”方式涉及在where方法中使用一些SQL,如其他答案所示。如果您尝试使用订购方法对结果进行排序,则同样适用。