我有一个const columnizer = require('columnizer.js');
模型和一个Song
模型。
我将Audit
销毁时,想创建一个Song
,例如
Audit
但这会导致这样的崩溃:
if @song.destroy
Audit.create(song: @song, deleted: true)
如何获得一个ID指向不再存在的歌曲的快乐保存?
答案 0 :(得分:0)
外键旨在防止出现这种情况。也许您可以使用acts_as_paranoid之类的宝石来实现软删除?软删除某些内容时,可以使用一列将其标记为已删除并将其从查询中排除,而无需实际从数据库中删除它。这样一来,您就可以继续从Audit模型访问Song记录,同时对用户保持隐藏状态。
答案 1 :(得分:0)
如何使用before_destroy回调保存创建审核
打开应用程序/模型/Song.rb
# add callback
before_destroy :audit_song
# create method
def audit_song
Audit.create(song: self, deleted: true)
end