我打電話給@foo.update
,在其中更新的屬性中,我調用foo
的模型類中的寫入方法(def attribute=
),並希望它有條件地更新整個更新。我可以在那裏放什麼?我嘗試使用errors[:base]
,但它不會失敗save
。我無法使用validates
,因爲該屬性在保存之前會轉換爲其他屬性。手動失敗#update_attributes保存在Rails中
def attribute=(attr)
if bar
# code to fail entire db save
end
end
你是怎麼嘗試使用錯誤[:base]? –
是否引發錯誤並捕獲保存選項之外的內容? –
@ruby_newbie我把它放在'if bar'條件的上面,出現錯誤[:base] <<「failed」' – stackjlei