这个问题总结了一下。是否可以通过简单地不保存记录而不是抛出错误来响应自定义验证?据我所知,编写自定义验证的唯一方法是调用如下错误:
def at_least_one_attribute_has_changed
if no_changes?
errors[:base] << I18n.t("activerecord.errors.messages.we_did_not_detect_any_changes")
end
end
也许有更温和的方法?skip_save
一些我不熟悉的神秘电话?