2017-09-06 68 views
0

当我删除的记录是这样的:Rails的删除记录离开空列

ScheduledTask.destroy(params[:scheduled_id]) 

而不删除的记录,它会将其所有的值设置为null。如何完全删除记录?

+0

你可以尝试'delete'呢? 'destroy'会触发回调,也许你的回调会阻止对象被完全删除。 –

+0

同样的,所有的值强麦废止除了从ID ... – Mark

+0

你可以尝试,为什么你的对象是从被摧毁防止输出错误信息。 e.g:'把ScheduledTask.destroy(PARAMS [:scheduled_id])。errors.full_messages' –

回答

0

ScheduledTask是整个班级的名称,而不是记录。目前你正在告诉整个班级删除提供的参数。

你需要找到你要删除的记录,然后调用删除的是:

task = ScheduledTask.find(params[:scheduled_id] 
task.destroy 
+0

我认为.destroy(ID)的工作原理:/这是DOC:https://apidock.com/rails/ActiveRecord/Relation/destroy顺便说一句我想你处理这个问题的方式,结果是一样的。 – Mark

+0

你是对的 - 我的坏话不理我的评论。你有没有试过使用删除而不是销毁? – Mark

+1

我想通了!问题是路径动词POST。它阻止了删除,而是将所有值更新为null。将动词改为DELETE解决了这个问题。 – Mark