user.rbモデル
class User
include Mongoid::Document
include Mongoid::Paranoia
has_many :posts, dependent: :destroy, :autosave => true
end
post.rbモデル
class Post
include Mongoid::Document
belongs_to :user
field :title
end
コンソールで次のコマンドを実行すると、次のようになります。
irb(main):020:0> u = User.first
=> #object here
irb(main):021:0> u.delete
=> true
irb(main):022:0> u.posts
=> nil
ユーザー投稿を呼び出そうとすると、すべてのユーザー投稿が削除されていることがわかります。ユーザーがデータベースから永久に破棄された場合にのみ、すべてのユーザー投稿を削除したいu.destroy
。
このオブジェクトのためにオブジェクトを削除した場合、データベース内にすべての関連オブジェクトを保持するにはどうすればよいですか?Mongoid::Paranoia
u.delete
後で復元できますu.restore
ありがとう!