Ответ 1
Нельзя использовать метод delete
для объекта Paragraph
, но вместо этого используйте метод удаления отношения paragraphs
, например:
post.paragraphs.delete(Paragraph.find(paragraph_id))
У меня есть это:
Post.paragraphs << new_paragraph
И мне нужно удалить абзац с помощью id = 3, поэтому следующее полностью удалит запись:
Post.paragraphs.find(paragraph_id).destroy
# or
Post.paragraphs.find(paragraph_id).delete
Мне просто нужно удалить абзац из ассоциации has_many. Я попытался использовать delete
и destroy
. Оба метода полностью удаляют записи из связанных таблиц. Как я могу просто удалить их из "контейнера"?
Нельзя использовать метод delete
для объекта Paragraph
, но вместо этого используйте метод удаления отношения paragraphs
, например:
post.paragraphs.delete(Paragraph.find(paragraph_id))
для удаления ассоциации вы можете попробовать:
Paragraph.find(paragraph_id).update_attribute :post_id, nil
но в этом случае у вас будет paragraph
, у которого нет связанной записи (я не знаю об этом)