34

我有这个:

Post.paragraphs << new_paragraph

而且我需要通过 id = 3 删除段落,因此以下内容将完全删除记录:

Post.paragraphs.find(paragraph_id).destroy
# or
Post.paragraphs.find(paragraph_id).delete

我只需要从 has_many 关联中删除一个段落。我尝试使用deleteand destroy。这两种方法都从关联的表中完全删除记录。我怎样才能将它们从“容器”中删除?

4

1 回答 1

65

您不应该delete在对象上使用该方法Paragraph,而应使用paragraphs关系的 delete 方法,如下所示:

post.paragraphs.delete(Paragraph.find(paragraph_id))
于 2014-09-04T08:20:40.513 回答