Ruby on rails 关注的Rails 4状态枚举-仅在模型中包含子集

Ruby on rails 关注的Rails 4状态枚举-仅在模型中包含子集,ruby-on-rails,ruby,ruby-on-rails-4,enums,Ruby On Rails,Ruby,Ruby On Rails 4,Enums,我在关注点中有我的状态选项,我有许多模型包括该关注点,但有些模型应限于所有可用状态的子集 是否有办法将我在该问题中的状态列入“白名单”或“黑名单” 我希望在所有模型中保持每个状态的实际整数一致,以防我们将“状态”从枚举切换到ActiveModel-这将使转换非常容易 app/models/concerns/status\u enum\u concern.rb module StatusEnumsConcern extend ActiveSupport::Concern included

我在关注点中有我的状态选项,我有许多模型包括该关注点,但有些模型应限于所有可用状态的子集

是否有办法将我在该问题中的状态列入“白名单”或“黑名单”

我希望在所有模型中保持每个状态的实际整数一致,以防我们将“状态”从枚举切换到ActiveModel-这将使转换非常容易

app/models/concerns/status\u enum\u concern.rb

module StatusEnumsConcern
  extend ActiveSupport::Concern

  included do
    enum status: [:active, :inactive, :sample, :staging, :sold_out, :expired, :wait_list]
    validates :status, presence:true

    def status_enum
      enum_array = []
      self.class.statuses.each { |v| enum_array << [v.first.titleize, v.second] }
      enum_array
    end
  end
end
class Package < ActiveRecord::Base
  ...
  include StatusEnumsConcern
  # Any options here? 
  ...
end
模块状态枚举关注点
扩展ActiveSupport::关注点
包括做
枚举状态:[:活动,:非活动,:示例,:暂存,:售完,:过期,:等待列表]
验证:状态,存在:真
def状态_枚举
枚举数组=[]

self.class.statuses.each{v|enum_数组如何在关注点上创建基础列表,但在模型上覆盖它(需要扩展列表或过滤它)。如何在关注点上创建基础列表,但在模型上覆盖它(需要扩展列表或过滤它)。如何在关注点上创建基准列表,但在模型上覆盖它(需要扩展列表或对其进行筛选)。