从has_many中删除对象但不删除Rails中的原始记录?

我有这个:

Post.paragraphs << new_paragraph 

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

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

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

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

 post.paragraphs.delete(Paragraph.find(paragraph_id))