Rails - 控制台关于关联的消息

时间:2016-04-20 06:46:13

标签: ruby-on-rails associations

每当我在rails 4应用程序的终端中执行某些操作时,我现在收到一条有此警告的消息:

gems/activerecord-4.2.4/lib/active_record/associations.rb:1694: warning: already initialized constant User::HABTM_Roles
/Users/ffd/.rvm/gems/ruby-2.3.0/gems/activerecord-4.2.4/lib/active_record/associations.rb:1694: warning: previous definition of HABTM_Roles was here

有谁知道这意味着什么?

在我的role.rb中,我有:

class Role < ActiveRecord::Base

  has_and_belongs_to_many :users, :join_table => :users_roles
  belongs_to :resource, :polymorphic => true

  validates :resource_type,
            :inclusion => { :in => Rolify.resource_types },
            :allow_nil => true

  scopify



end

在我的user.rb中,我有:

has_and_belongs_to_many :roles, :join_table => :users_roles

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题并找到了一个简单的解决方案。

我以前在我的代码中使用过:

module MyModule
  RESET = 'reset'
end

我只是将其更改为

module MyModule
   RESET ||= 'reset'
end

我得到了解决方案。

所以看看你是否在代码中做了同样的事情。

这会处理警告并且比检查是否定义了每个常量要简单得多。如果您找到更好的解决方案,请告诉我。