Ruby on rails RubyonRails:从include do获取变量

Ruby on rails RubyonRails:从include do获取变量,ruby-on-rails,ruby,ruby-on-rails-3,enums,Ruby On Rails,Ruby,Ruby On Rails 3,Enums,昨天我问了一个关于Rails 4枚举的问题,得到了答案 因此,我在#app/models/concerns/my_enums.rb中定义了全局状态枚举,如下所示: module MyEnums extend ActiveSupport::Concern included do enum status: [:active, :inactive, :deleted] end end 现在,我试图从控制器获取我的状态枚举中的所有已定义属性,无法访问枚举,因为它在包含模块时初始化

昨天我问了一个关于Rails 4枚举的问题,得到了答案

因此,我在
#app/models/concerns/my_enums.rb
中定义了全局
状态
枚举,如下所示:

module MyEnums
  extend ActiveSupport::Concern

  included do
    enum status: [:active, :inactive, :deleted]
  end
end
现在,我试图从控制器获取我的
状态
枚举中的所有已定义属性,无法访问枚举,因为它在包含模块时初始化,如果我将其包含在控制器中,我将收到以下错误:

undefined method `enum' for HomeController:Class
如何在控制器中获取此信息(如Product.Status)


您不能将此模块包括到控制器中。但是,您可以尝试:

module MyEnums
  extend ActiveSupport::Concern
  Statuses = [:active, :inactive, :deleted]

  included do
    enum status: Statuses
  end

end
然后在控制器中:

MyEnums::Statuses

谢谢如此简单和伟大的解决方案)
MyEnums::Statuses