Rails将嵌套错误折叠为单个消息

时间:2016-03-22 18:15:11

标签: ruby-on-rails

我正在设计一个API来为acceptes_nested_attributes_for多个关联(has_many,belongs_to等)的模型返回错误。我目前正在循环遍历错误,在422回复的JSON响应中生成一个error密钥:

{ errors: @model.errors.full_messages.join(', ') }

但是,这并没有添加详细的关联错误(只是'模型无效')。 Rails是否提供了将详细错误传播到父模型的简单方法?

class Part < ActiveRecord::Base
  belongs_to :car
  validates :name, presence: true
end

class Car < ActiveRecord::Base
  has_many :parts
  validates :name, presence: true
  validates_associated :parts
  accepts_nested_attributes_for :parts
end

@car.errors # {:customer=>["is invalid"]} - want 'customer name must be present'

0 个答案:

没有答案