3
我有嵌套結果/匹配/ 16 /結果/ 13 /編輯在這樣</p> <p>匹配的Active Record協會類型不匹配
在那裏我有以下選擇領域,這顯示了正確的信息(團隊。名稱及其team.id)
<%= f.collection_select :winner, @select_winner_loser, :id, :name %>
現在,當我嘗試編輯我的結果而選擇一個勝利者,我得到這樣的:
的ActiveRecord :: AssociationTypeMismatch Team(#10504340)預計,得到String(#6163240)
「當分配給關聯的對象的類型不正確時引發。http://api.rubyonrails.org/classes/ActiveRecord/AssociationTypeMismatch.html
贏家是隊對象,result.rb看起來像這樣
class Result < ActiveRecord::Base
has_one :match
belongs_to :winner, class_name: "Team"
belongs_to :loser, class_name: "Team"
end
@select_winner_loser來自我results_controller
def edit
@select_winner_loser = []
@select_winner_loser << @match.top
@select_winner_loser << @match.bottom
end
Match.top &底部也是球隊物體
class Match < ActiveRecord::Base
belongs_to :top, class_name: "Team"
belongs_to :bottom, class_name: "Team"
...
belongs_to :result
end
我不明白爲什麼我會得到這個,因爲我在我的選擇領域有正確的對象,任何想法?
感謝
謝謝你lunr :),不得不改變我的遷移文件,我贏了,而不是我的db中的winner_id,並做出了你指出的改變。 – Pierre 2014-09-19 20:10:06