2011-05-24 56 views
0

我正在使用遵循resource_controller原理解释here的控制器。正如你所看到的,我没有完全控制(新建,创建等),它们都预加载数据,这意味着如果我想创建一个新的实体,比如说@user下面的代码有已被称为@user = User.new调用新的ActiveModel后销毁

我可以包括一些验证的唯一方法是通过回调,但一旦回调决定取消新的方法,我总是以哈希冻结错误结束。 换句话说,我不能说 @user = User.new @user.destroy

唯一劈我能想出是 @user = User.new @user.save @user.destroy

有谁知道一个更好的办法,不涉及保存的东西到数据库? 而btw有源记录和主动模型有什么区别?

回答

1

如何检查它在销毁之前是否被保存?

@user.destroy unless (@user.new_record?)