【问题标题】:Rails: warning: already initialized constant User::HABTM_Roles rolifyRails:警告:已初始化常量 User::HABTM_Roles rolify
【发布时间】:2017-08-18 07:37:32
【问题描述】:

我在尝试创建 seed.rb 以在 rails 中使用 rolify gem 定义角色时面临这个问题

【问题讨论】:

  • 为 User.rb 提供代码会很有帮助。
  • user.rb: class User 'Usertype' # 包括默认设计模块。其他可用的有:# :confirmable, :lockable, :timeoutable 和 :omniauthable 设计 :database_authenticable, :registerable, :recoverable, :rememberable, :trackable, :validatable has_many :projects,dependent: :destroy end
  • 我认为您必须阅读 how-to-ask 文章以增强您在 stackoverflow 中提问的知识。例如,源代码将放在您的问题中,而不是放在评论部分。

标签: ruby-on-rails devise cancancan rolify


【解决方案1】:

在第 2 行,将此 rolify rolify: role_cname => 'Usertype' 更改为

rolify :role_cname => '用户类型'

您的 User.rb 上有两个 rolify,只有一个就足够了。

【讨论】:

    【解决方案2】:

    观察: 根据 Rails 约定,常量应包含所有大写字符。我看到你使用了HABTM_Roles,这违反了规则。

    HABTM_Roles 应该写成

    HABTM_ROLES
    

    另外请检查是否存在任何重复的常量声明,因为错误表明已经初始化常量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-08
      • 1970-01-01
      • 2013-09-24
      • 1970-01-01
      • 1970-01-01
      • 2021-07-04
      • 2011-01-02
      • 2011-08-29
      相关资源
      最近更新 更多