@justed_ss
ewf

Лучший способ генерации ошибок для Rails, nested_attributes в json?

Есть модель которая принимает аттрибуты для вложеной модели, результат формы возвращается в виде json, а потом отрисовывается
class Order < ActiveRecord::Base
  accepts_nested_attributes_for :entries
end

class Entry < ActiveRecord::Base
  accepts_nested_attributes_for :members, allow_destroy: true
end

И вот мы сабмитим форму Order, в которой есть свежие entry, в которых есть свежие members, с ошибками валидации
Поля в форме в следующем виде, в традициях Rails
<input autocomplete="off" class="string required form-control" id="order_entries_attributes_1459329286687_members_attributes_1459329286739_title" name="order[entries_attributes][1459329286687][members_attributes][1459329286739][title]" placeholder="Наименование" type="text">

Контроллер
class OrdersController
  def update
    if @order.update(order_params)
      render json: @order
    else
      render json: @order.errors, status: :unprocessable_entity
    end
  end
end

И вот что возвращается
{"entries.members.client_id":["введите значение"],"entries.members.clinic_id":["введите значение"]}

Проблема в том что исходя из этого ответа невозможно точно определить в какой из entries, и с каким из вложенных member находится ошибка валидации. Может есть гем или какой-то другой подход?
  • Вопрос задан
  • 223 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы