喜欢和红宝石的条件

时间:2011-03-14 18:36:12

标签: ruby-on-rails activerecord

Ruby on Rails中的语法是什么?这是我正在尝试做的事情:

我试图找到表格中的所有姓氏,这些姓氏以egm开头,所以like %egm%。我知道如何使用find_by_sql但只是好奇地知道Ruby方式。

s = Person.find_by_last_name('nan%')

3 个答案:

答案 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,如其他答案所示。如果您尝试使用订购方法对结果进行排序,则同样适用。