【问题标题】:Expected format for validation errors in Ember Data (using ActiveModel::Serializers)Ember 数据中验证错误的预期格式(使用 ActiveModel::Serializers)
【发布时间】:2014-04-09 18:54:50
【问题描述】:

不幸的是,ActiveModel::Serializers 目前不支持验证错误,尽管它们计划用于1.0。在那之前,我必须破解我自己的解决方案。大问题?我不知道 Ember Data 的 ActiveModelAdapter 期望这些错误采用什么格式。我尝试简单地传入 errors 属性,但 Ember Data 没有接受它:

class MySerializer < ActiveModel::Serializer
  attributes :errors
end

那我应该传入什么呢?

【问题讨论】:

    标签: ember.js ember-data active-model-serializers


    【解决方案1】:

    我使用这个方法来渲染验证错误(注意你根本不使用序列化器):

    def render_validation_errors errors
      render json: {errors: errors.to_h}, status: 422
    end
    

    你会这样使用它:

    def create
      model = Model.new model_params
      if model.save
        respond_with model
      else
        render_validation_errors model.errors
      end
    end
    

    ActiveModelAdapter 期望的格式是:

    {"errors":{"title":"should begin with a capital letter"}}
    

    【讨论】:

    • 谢谢,亚历克斯。你不知道我花了多少时间试图弄清楚这一点。对于其他人,如果您未定义to_h,请尝试to_hash。不知道为什么它对我来说失败了,它应该在 Ruby 2.0 中得到支持。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    • 2019-12-17
    • 2020-02-12
    相关资源
    最近更新 更多