我正在使用一个遵循resource_controller原则解释here的控制器。
正如您所看到的,我无法完全控制(新的,创建等等)所有这些预加载数据,这意味着如果我想创建一个新实体,请说@user
以下代码已被称为@user = User.new
。
我可以包含一些验证的唯一方法是通过回调,但是一旦回调决定取消新方法,我总是以Hash冻结错误结束。
换句话说,我不能说
@user = User.new
@user.destroy
我能想到的唯一的黑客是
@user = User.new
@user.save
@user.destroy
有没有人知道更好的方法,这不涉及将内容保存到数据库中? 顺便说一下,活动记录和活动模型有什么区别?
答案 0 :(得分:1)
如何在销毁之前检查它是否已被保存?
@user.destroy unless (@user.new_record?)