Задать вопрос
@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 находится ошибка валидации. Может есть гем или какой-то другой подход?
  • Вопрос задан
  • 224 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Stepik
    JavaScript с нуля - основы языка и практика для начинающих
    2 недели
    Далее
  • Merion Academy
    Фронтенд-разработчик с нуля
    4 месяца
    Далее
  • Skypro
    JavaScript-разработчик с нуля
    9 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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