【发布时间】:2013-06-27 13:50:15
【问题描述】:
我不明白为什么会出现以下错误:
ActiveRecord::AssociationTypeMismatch: User(#29943560) expected, got Fixnum
当我在 Rails 控制台中这样做时:@game = Game.create(:player => 1060, :played => 1061)
我只想为下面的模型关联创建一个新的Game。
class User < ActiveRecord::Base
has_many :game_as_player, :class_name => 'Game', :foreign_key => 'player_id'
has_many :game_as_played, :class_name => 'Game', :foreign_key => 'played_id'
end
class Game < ActiveRecord::Base
belongs_to :player, :class_name => 'User'
belongs_to :played, :class_name => 'User'
attr_accessible :player, :played, :score, :details, :viewed, :read
end
如果有人有想法... 非常感谢!
【问题讨论】:
-
根据你的关联,payer和player代表同一个用户(user_id)。我认为您不应该为播放器和播放器设置不同的 ID。
标签: ruby-on-rails activerecord ruby-on-rails-3.2