[英]ruby : NameError: uninitialized constant
我有以下問題
我在用戶和角色模型之間具有以下關聯
# User
has_many :memberships
has_many :roles , :through => :memberships
# Role
has_many :memberships
has_many :users , :through => :memberships
我有過橋會員資格,你可以猜到
# Membership
belongs_to user
belongs_to role
問題是當我嘗試創建新用戶時,我有在before_create中調用它的方法
before_create :build_role
def build_role
memberships.build
end
它給我
未初始化的常量User :: Membership
我應該怎么做才能克服這個問題?
在關聯定義中明確指定類名稱
has_many :memberships, :class_name => "Membership"
has_many :roles , :through => :memberships
通常,如果遵循關聯的命名約定,則不需要它。 可能是因為您為模型指定了名稱空間。
好的,我發現了問題……完全是我的錯。 在Membership
,
belongs_to :user
belongs_to :role
我省略了冒號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.