2011-03-14 7 views
10

¿Cuál es la sintaxis de like en Ruby on Rails? Esto es algo que estoy tratando de hacer:Me gusta y dónde está la condición en ruby ​​

Estoy tratando de encontrar todo el apellido de la tabla que comienza con egm algo like %egm%. Sé cómo hacer uso de find_by_sql, pero tengo curiosidad por conocer el modo Ruby.

s = Person.find_by_last_name('nan%') 

Respuesta

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

o en su caso

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

Para ampliar un poco, los métodos find_by_X uso, el usuario =, por lo que no le gustaría usarlos para una condición como . La manera de "Rails" implica usar un poco de SQL dentro del método where como se muestra en las otras respuestas. Lo mismo se aplicaría si está tratando de ordenar los resultados usando el método de orden.

Cuestiones relacionadas