Rails: Comment find_by un champ contenant une certaine chaîne de caractères

J'ai un modèle nommé Thème, qui a un nom en tant que champ.

Donc, dis-je avoir un terme, je suis à la recherche pour, apple.

Si je fais un

Topic.find_by_name("apple")

- Je obtenir un enregistrement avec le nom apple. C'est bon, mais comment puis-je changer find_by_name de sorte qu'il peut trouver le "jus de pomme" ainsi que "apple" - en gros, trouver les noms qui contiennent la requête d'origine ou de correspondre exactement à la requête d'origine?

Edit:
Merci à tous pour la réponse. Je suppose que je devrais avez été un peu plus clair plus tôt, mais si je veux trouver un nom de variable (évidemment, je ne vais pas vous voulez trouver par le nom de "pomme" à chaque fois 🙂 )?

Comment puis-je manipuler Sujet.où loger pour cela?
Donc, quelque chose comme...

@topic = Topic.where(......., @name)
  • Ajout d'une édition à ma réponse concernant votre dernière modification, laissez-moi savoir si ça peut aider!
  • Voir mon commentaire de @Alicher de la réponse pour répondre à votre édité question. Topic.where("name like ?","#{@name}%") serait un moyen.
InformationsquelleAutor varatis | 2012-03-14