Ruby on rails 关注的Rails 4状态枚举-仅在模型中包含子集
我在关注点中有我的状态选项,我有许多模型包括该关注点,但有些模型应限于所有可用状态的子集 是否有办法将我在该问题中的状态列入“白名单”或“黑名单” 我希望在所有模型中保持每个状态的实际整数一致,以防我们将“状态”从枚举切换到ActiveModel-这将使转换非常容易 app/models/concerns/status\u enum\u concern.rbRuby 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
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_数组如何在关注点上创建基础列表,但在模型上覆盖它(需要扩展列表或过滤它)。如何在关注点上创建基础列表,但在模型上覆盖它(需要扩展列表或过滤它)。如何在关注点上创建基准列表,但在模型上覆盖它(需要扩展列表或对其进行筛选)。