0
我有一個使用ActiveModel的類(不是ActiveRecord)。它表示從遠程web服務檢索到的JSON對象。軌道對象有一個ReportLayout對象數組,每個ReportLayout對象都有一個槽陣列等等。每個模型類都有一些簡單的驗證器,比如'validates_presence_of'等等。對象及其所有子項的ActiveModel級聯驗證器
如何開始級聯驗證,從跟蹤對象開始,遍歷每個級別的每個對象,驗證它們,然後驗證它們的子級數組?這個堆棧有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
謝謝 拉吉
您還沒有發佈您的關聯,但是從我收集的內容中,您需要使用http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#method-i-validates_associated – Gazler
Thanks @Gazler,但像我說的我沒有使用ActiveRecord。當我嘗試validates_associated: –