I ont des résultats nichés sur les matchs comme celui-ciAssociation active Record Type Mismatch
/matches/16/résultats/13/modifier
Là où j'ai le champ de sélection suivant, cela montre les informations correctes (équipe. nom et son team.id)
<%= f.collection_select :winner, @select_winner_loser, :id, :name %>
maintenant, lorsque je tente de modifier mon résultat et la sélection d'un gagnant je reçois ceci:
ActiveRecord :: AssociationTypeMismatch Team (# 10504340) expected, got Chaîne (# 6163240)
"Élevé lorsqu'un objet affecté à une association a un type incorrect."http://api.rubyonrails.org/classes/ActiveRecord/AssociationTypeMismatch.html
Winner est une équipe objet, result.rb ressemble à ce
class Result < ActiveRecord::Base
has_one :match
belongs_to :winner, class_name: "Team"
belongs_to :loser, class_name: "Team"
end
@select_winner_loser vient de mon results_controller
def edit
@select_winner_loser = []
@select_winner_loser << @match.top
@select_winner_loser << @match.bottom
end
Match.top & fond est aussi l'équipe objets
class Match < ActiveRecord::Base
belongs_to :top, class_name: "Team"
belongs_to :bottom, class_name: "Team"
...
belongs_to :result
end
Je ne vois pas pourquoi j'obtiendrais cela puisque j'ai les bons objets dans mon champ de sélection, des idées?
Merci
Merci lunr :), a dû changer mon fichier de migration, j'ai eu le gagnant au lieu de winner_id dans mon db et fait le changement que vous avez indiqué. – Pierre