J'ai des problèmes avec les moteurs de recherche dynamiques basés sur les attributs. Ils ne semblent pas sortir pour mon modèle.Rails find_by macros avec une relation has_many
class Person < ActiveRecord::Base
belongs_to :team
end
class Team < ActiveRecord::Base
has_many :people
end
donc dans le script/console, pour trouver les équipes ayant personne avec ID 1, je devrais être en mesure de le faire:
>> Team.find_by_person_id(1)
Je reçois l'erreur:
NoMethodError: undefined method `find_by_person_id'
Cette est vraiment étrange parce que chercher dans la direction opposée, à savoir:
>>Person.find_all_by_team_id(1)
Trouvera avec succès toutes les personnes sur l'équipe 1.
Que doit-on faire, pour trouver l'équipe par person_id
?
Cela a également retourné: NoMethodError: méthode 'personnes » – SooDesuNe
non défini Eh bien, je viens d'essayer que sur un nouveau projet de rails et il fonctionne. Il doit y avoir un autre problème que vous avez qui provoque l'erreur. Pourriez-vous décrire exactement ce que vous tapez à partir du terminal jusqu'à ce que vous obteniez l'erreur? – Petros
RAILS_ROOT/script/console Ensuite, copiez et collez votre solution. rails v2.3.8 ">> Personne #" montre "team_id" Si je supprime le has_many: les gens, je reçois l'erreur: ArgumentError: Aucune association trouvée pour nom 'personnes. A-t-il déjà été défini? Je suis complètement désemparé. – SooDesuNe