Ember数据中验证错误的预期格式(使用ActiveModel :: Serializers)

nul*_*ull 0 ember.js ember-data active-model-serializers

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

class MySerializer < ActiveModel::Serializer
  attributes :errors
end
Run Code Online (Sandbox Code Playgroud)

那么我该怎么办呢?

ale*_*ler 5

我使用此方法来呈现验证错误(请注意,您根本不使用序列化程序):

def render_validation_errors errors
  render json: {errors: errors.to_h}, status: 422
end
Run Code Online (Sandbox Code Playgroud)

你会像这样使用它:

def create
  model = Model.new model_params
  if model.save
    respond_with model
  else
    render_validation_errors model.errors
  end
end
Run Code Online (Sandbox Code Playgroud)

ActiveModelAdapter期望的格式是:

{"errors":{"title":"should begin with a capital letter"}}
Run Code Online (Sandbox Code Playgroud)