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