【问题标题】:Defining an enum on ember DS.Model在 ember DS.Model 上定义枚举
【发布时间】:2014-08-31 03:43:46
【问题描述】:

我想知道在 Ember Data 中将 ActiveRecordenum 与 DS.model 一起使用的最佳解决方案是什么。

例如,如果我的 Rails 模型中有一个枚举:

# in the migration
t.integer :status, default: 0

# in the model
enum status: [:draft, :in_wizard, :published, :archived]

我的第一个想法是在 DS.model 上定义一个整数类型:

status: DS.attr('number')

但是,使用 Ember Data 和 ActiveModel 序列化器,序列化器将这些枚举序列化为字符串,因此 json 以:

{status: 'draft'}

那么这应该是DS.attr('string') 还是有办法在 ember 数据中指定枚举?

【问题讨论】:

    标签: ruby-on-rails ruby ember.js enums ember-data


    【解决方案1】:

    是的,您可以将其用作字符串,也可以将其转换为 Serializer 中的其他类型,但是,将其保留为字符串可能是最简单的。您可以随时向模型添加一些计算属性:

    isDraft: Ember.computed.equal('status', 'draft'),
    isInWizard: Ember.computed.equal('status', 'in_wizard'),
    // etc...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多