我有2个型号
class Author < ActiveRecord::Base
enum state: [:draft, :ready]
end
class Creation < ActiveRecord::Base
enum state: [:draft, :ready]
end
如您所见,两个模型都有定义状态枚举。我想摆脱这种重复并将状态移到其他地方。
我该怎么做,同时保留所有有用的信息,Author.ready
并自动在数据库中的整数和代码中的字符串之间进行转换。
您可以concerns
像下面那样使用。
module SimpleState
extend ActiveSupport::Concern
included do
enum state: [:draft, :ready]
end
end
然后将其包含在您的模型中,如下所示
#author.rb
class Author < ActiveRecord::Base
include SimpleState
end
#creation.rb
class Creation < ActiveRecord::Base
include SimpleState
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句