Goz*_*zup 9 activerecord ruby-on-rails ruby-on-rails-3.2
我不明白为什么会出现以下错误:
ActiveRecord::AssociationTypeMismatch: User(#29943560) expected, got Fixnum
Run Code Online (Sandbox Code Playgroud)
当我在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
Run Code Online (Sandbox Code Playgroud)
如果有人有想法......非常感谢!
小智 20
它只是说它想要一个用户,你给了一个Fixnum
你应该做点什么
@game = Game.create(:player => Player.find(1060), :played => Player.find(1061))
Run Code Online (Sandbox Code Playgroud)
或者,如果您想通过ID给用户
@game = Game.create(:player_id => 1060, :played_id => 1061)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11371 次 |
| 最近记录: |