I want to associate two models (Team and Member) by has_many :through, but returns NameError.
What am I missing?
Models
class Team < ActiveRecord::Base
has_many :team_members
has_many :members, :through => :team_members
end
class Member < ActiveRecord::Base
has_many :team_members
has_many :teams, :through => :team_members
end
class TeamMember < ActiveRecord::Base
belongs_to :teams
belongs_to :members
end
Database Tables
teams
members
teams_members
Errors
When I try to create new record with association, I got following errors.
@team = Team.new
@team.members
NameError: uninitialized constant Team::Members
Also when searching for existing record, these errors are thrown.
@team = Team.find(1)
@team.members # expecting to get existing records in members table
NameError: uninitialized constant Team::Members
The correct name for TeamMember table is team_members not teams_members