@IvanN777

Понадобилось использовать в форме 2 модели(что лучше использовать reform или nested_atributes) от чего это зависит?

reform использовать, когда нужна доп логика проверки формы?
Так же непонятно, в мануале к ней обычно указываются конкретные атрибуты.
class AlbumForm < Reform::Form
  include Composition

  property :id,    on: :album
  property :title, on: :album
  property :songs, on: :cd
  property :cd_id, on: :cd, from: :id
end

А что если из одной модели мне нужно указать все атрибуты? и их штук 20.
Так же работал когда то с Virtus по сути тоже самое, или я ошибаюсь.
Пожалуй единственный плюс, мне не приходится задавать типы для атрибутов, для reform, что в целом полезно.
Или я что-то не понимаю.
  • Вопрос задан
  • 108 просмотров
Решения вопроса 1
viktorvsk
@viktorvsk
Если логика простая и расширения не предвидятся, то используйте nested_attributes, т.к. они уже есть.
Если логика сложная, то дальше вопрос - такой сложный кусок должен быть 1-2 в системе? Если да, то создайте папку app/services (app/interactors) и положите туда класс AlbumSaver. И папку app/form_objects с классом AlbumUpdateForm. И вызывайте AlbumSaveForm в AlbumSaver.
Если у вас множество мест, где нужны очень сложные формы, то к предыдущему подходу добавьте какой-нибудь гем для управления формами
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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