我打电话给@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