我有模型(容器)接受与另一个模型(reuse_request)的allow_destroy
关系的嵌套属性(包括has_one
)。如果在同一更新中即将销毁reuse_request,则容器模型中有一个before_validation
回调,我不想运行。
有没有办法检查是否已从容器模型_destroy
回调中传递了before_validation
属性?
#container.rb
before_validation :set_code
has_one :reuse_request_as_previous, class_name: 'ReuseRequest', foreign_key: 'previous_container_id', dependent: :destroy, inverse_of: :previous_container
accepts_nested_attributes_for :reuse_request_as_new, :allow_destroy => true
def set_code
if reuse_request_as_new && reuse_request_as_new.previous_container
self.code = reuse_request_as_new.previous_container.code
end
end
答案 0 :(得分:1)
如何使用.marked_for_destruction?
?
def set_code
return if reuse_request_as_new.marked_for_destruction?
...
end