我正在使用回调来暂停销毁操作,而是想设置:archived_at字段。问题是,我的before_destroy中的“return false”导致回滚消除了我的更新。解决这个问题?
class MarkArchived
def before_destroy(model)
update_attribute(:archived_at, Time.now) and return false
end
end
class User < ActiveRecord::Base
before_destroy MarkArchived
end
class Account < ActiveRecord::Base
before_destroy MarkArchived
end
答案 0 :(得分:0)
如果我理解正确,你想要一些你的对象(或某些类对象)被存档,永远不会被销毁?我认为this gem可能适合您的使用
答案 1 :(得分:0)
这样的东西?
def hide_or_destroy
if shifts.any?
update(hidden: true)
else
destroy
end
end