【发布时间】:2016-09-18 03:28:33
【问题描述】:
我有一个自动保存的表单。我希望能够运行验证并向用户返回错误消息,但我也希望保存所有有效属性。前端是有角度的,所以如果您希望保存所有有效的东西,那会有点烦人。
我希望能够做这样的事情:
# @user = <User name: "Chill Dude" favorite_color: "blue">
@user.save(name: '', favorite_color: "red")
@user.errors #=> ["Name cannot be null"]
@user.reload #=> <User name: "Chill Dude" favorite_color: "red">
我确信我可以利用object.errors 提出一些大而复杂的解决方案,但我想知道是否有任何简单的rails-y 方法来做到这一点?
【问题讨论】:
-
yr 保存
@user然后调用@object.reload,实际上如果对其进行验证,它不应该保存它。 -
显然这是默认行为。我在问是否有办法保存有效属性?
-
你保存了用户,但是对象有之前的数据和错误,所以它们不能属于更新的用户。验证后:
@user.errors -
这是奇怪的行为,请添加你的模型来发布
-
@МалъСкрылевъ 有完整的代码示例
标签: ruby-on-rails