has_many通过关联未初始化的常量错误

时间:2012-03-07 07:31:06

标签: ruby-on-rails activerecord

我对Rails中的活动记录关联有疑问。 我正在开发三个活动记录模型:Team,Teamuser,用户,测试“has_many through”关联。 基本上,我只想调用team.users和user.teams。

这是我的模型定义

  team.rb
  #######
  class Team < ActiveRecord::Base

    has_many :teamusers, :foreign_key => :team_id
    has_many :users, :through => :teamusers

  end

  teamuser.rb
  ###########
  class Teamuser < ActiveRecord::Base

    belongs_to :teams  
    belongs_to :users   

  end

然后

  user.rb
  ########
  class User < ActiveRecord::Base

    has_many :teamusers, :foreign_key => :user_id
    has_many :teams, :through => :teamusers

  end

每次我尝试这个

team.users

它返回一个错误,说“未初始化的常量Team :: Users”。

我怎么可能错了? 任何建议都会非常感激。

1 个答案:

答案 0 :(得分:5)

你的Teamuser应该是:

class Teamuser < ActiveRecord::Base

  belongs_to :team
  belongs_to :user
end