ruby-on-rails - Rails:在模型之间共享枚举声明值

标签 ruby-on-rails rails-activerecord ruby-on-rails-4.2

我在以下属性上应用enumtransparency

在两个不同的模型中使用相同的属性(带有枚举):CategoryPost

是否可以在模型之间共享枚举值,以避免代码重复:

enum transparency: %w(anonymous private public)

最佳答案

您可以使用concern

module HasTransparency
  extend ActiveSupport::Concern
  included do
    enum transparency: %w(anonymous private public)
  end
end


然后将其包含在模型中:

class Category < ActiveRecord::Base
  include HasTransparency

  ....
end

关于ruby-on-rails - Rails:在模型之间共享枚举声明值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29451169/

相关文章:

ruby-on-rails - 最佳实践 - 在 Ruby on Rails View 中传递实例变量或使用参数?

java - 模糊你的 Ruby 代码?

ruby-on-rails - 英文列表

ruby-on-rails - 索引中 instance_variable 的 RSpec

ruby-on-rails - 调用时未调用 Rails ApplicationMailer 方法

javascript - 未捕获类型错误 : . vegas 不是函数

ruby-on-rails - 两种模型上的 Active Record 过滤器

ruby-on-rails - Rails - 这是不好的做法还是可以优化?

ruby-on-rails - rails < 4.0 "try"方法抛出 NoMethodError?

ruby-on-rails - Rails Girls Guides 使用 Devise 添加身份验证的问题