从has_many中删除对象但不删除Rails中的原始记录?
我有这个:
Post.paragraphs << new_paragraph
我需要删除id = 3的段落,因此以下内容将完全删除记录:
Post.paragraphs.find(paragraph_id).destroy # or Post.paragraphs.find(paragraph_id).delete
我只需要从has_many关联中删除一个段落。 我试图使用delete
和destroy
。 两种方法都完全删除关联表中的记录。 我怎样才能将它们从“容器”中删除?
你不应该在Paragraph
对象上使用delete
方法,而是使用paragraphs
关系的delete方法,如下所示:
post.paragraphs.delete(Paragraph.find(paragraph_id))