web-dev-qa-db-ja.com

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を使用しようとしました。どちらの方法でも、関連するテーブルからレコードが完全に削除されます。 「コンテナ」からそれらを削除するにはどうすればよいですか?

23
valk

deleteobjectでParagraphメソッドを使用するのではなく、次のようにparagraphs関係のdeleteメソッドを使用する必要があります。

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