我正在對base_user
執行操作。我希望我的@user
的錯誤與base_user
的錯誤相同,因爲我最終將這些錯誤作爲橫幅顯示。但是,我不知道如何設置@user
的錯誤。這是我在做什麼:如何複製ActiveResource :: Error對象?
base_user.validate_password_change(params)
if base_user.errors.size > 0
#@user.errors.initialize_dup(base_user.errors) # does not work
@user.errors = base_user.errors.dup # does not work
raise 'Validation Errors' if @user.errors.size > 0
end
@user.errors
是一個空的散列。 base_user.errors.messages是一個散列,其中包含一個名爲password的數組,其中包含元素(密碼未正確格式化的原因的字符串)。根據ActiveResource API,ActiveResource :: Error對象可以做from_array
,from_hash
(未在API中列出,但我在代碼中看到它),from_json
和from_xml
,但它沒有初始化或設置器。
我使用紅寶石2.0和Rails 4.0.0,其使用的ActiveResource 4
謝謝!這不是我想做的,但瞭解.set幫助我解決了我的問題。 – Jack