accepts_nested_attributes_for rollback

时间:2015-03-10 11:39:43

标签: ruby-on-rails ruby-on-rails-4 activerecord nested-attributes

我有一个accepts_nested_attributes_for的模型,但是如果我保存主模型并且验证失败,则子元素仍会保存并关联。除非父对象成功保存,否则如何防止嵌套元素被保存?此时已经创建了该对象。

以下是我尝试的内容:

class User < ActiveRecord::Base
  has_many :security_questions
  accepts_nested_attributes_for :security_questions
  validates_length_of :security_questions, minimum: 3, maximum: 3, if: :creation_finished?
end

class SecurityQuestion < ActiveRecord::Base
  belongs_to :user, inverse_of: :security_questions
  validates_presence_of :user
end

不幸的是,如果我尝试创建用户(并且我提供安全问题)并且无法创建,则由于存在太多安全问题,以后的任何尝试都会触发错误。

0 个答案:

没有答案