У меня есть класс, который использует ActiveModel (хотя не ActiveRecord).Он представляет собой объект JSON, полученный из удаленного веб-сервиса.У объекта track есть массив объектов ReportLayout, а у каждого объекта ReportLayout есть массив слотов и т. Д. И т. Д. Каждый класс модели имеет несколько простых валидаторов, таких как 'validates_presence_of' и т. П.
Как запуститькаскадная проверка, начиная с объекта отслеживания, который проходит через каждый объект на каждом уровне, проверяет их, а затем проверяет их массив дочерних элементов?Глубина стека составляет 4 уровня, и мы скоро добавим еще два уровня.
class Track
include ActiveModel::Validations
attr_accessor :name, :report_layouts
validates_presence_of :name
validates_length_of :name, :minimum => 4, :maximum => 256
....
end
class ReportLayout
include ActiveModel::Validations
attr_accessor :name, :slots, :start_date, :end_date
validates_presence_of :name
validates_length_of :name, :minimum => 4, :maximum => 256
....
end
class Slot
...
class SlotModule
Спасибо, Радж