【问题标题】:ActiveModel destroy after calling new调用 new 后 ActiveModel 销毁
【发布时间】:2011-05-24 23:29:16
【问题描述】:

我正在使用遵循here 解释的 resource_controller 原则的控制器。

如您所见,我无法完全控制(新建、创建等)所有这些预加载数据,这意味着如果我想创建一个新实体,让我们说@user 以下代码已经被称为@user = User.new

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

我能想出的唯一技巧是 @user = User.new @user.save @user.destroy

有谁知道更好的方法,不涉及将内容保存到数据库? 顺便说一句,活动记录和活动模型有什么区别?

【问题讨论】:

    标签: ruby-on-rails ruby activerecord activemodel


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-27
      • 2017-06-03
      相关资源
      最近更新 更多