我有一个使用 ActiveModel 的类(虽然不是 ActiveRecord)。它表示从远程 Web 服务检索到的 JSON 对象。track 对象有一个 ReportLayout 对象数组,每个 ReportLayout 对象都有一个 slot 数组等。每个模型类都有一些简单的验证器,如 '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
谢谢你,拉杰