Rails:为什么“has_many …,:through => …”关联导致“NameError:uninitialized constant …”
为了表示一个组可以有多个用户,并且一个用户可以属于多个组,我设置了以下关联:
class Group :users_groups end class User :users_groups end class UsersGroups < ActiveRecord::Base belongs_to :user belongs_to :group end
但是,当我键入:
Group.find(1).users
我明白了:
NameError: uninitialized constant Group::UsersGroup
我究竟做错了什么 ?
class UsersGroups
应该是class UsersGroup
。 ActiveRecord模型是单数 – 表格是复数。
ActiveRecord尝试将名称单一化,但您的类实际上名为UserGroups
。 将其重命名为UserGroup
。 模型是单一的。
我认为将UserGroups类的名称更改为UserGroup
另外,请注意模型的文件名也必须是单数forms。 在这种情况下, app/models/user_group.rb