首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActiveRecord::AssociationTypeMismatch: User expected,got

ActiveRecord::AssociationTypeMismatch: User expected,got
EN

Stack Overflow用户
提问于 2013-06-27 21:50:15
回答 1查看 12.1K关注 0票数 9

我不明白为什么会出现以下错误:

代码语言:javascript
复制
ActiveRecord::AssociationTypeMismatch: User(#29943560) expected, got Fixnum

当我在rails控制台中执行此操作时:@game = Game.create(:player => 1060, :played => 1061)

我只想在下面创建一个关于模型关联的新Game

代码语言:javascript
复制
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

如果有人有主意..。非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-27 21:54:52

它只是说它想要一个用户,而你给出了一个Fixnum

你应该像这样做

代码语言:javascript
复制
@game = Game.create(:player => Player.find(1060), :played => Player.find(1061))

或者,如果您想按if为用户提供

代码语言:javascript
复制
@game = Game.create(:player_id => 1060, :played_id => 1061)
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17345024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档