Mongoidでdependentが無視される

Mongoidでdependentが無視される時、primary_keyが片方だけ指定されていて検索に失敗している場合がある

以下の擬似コードのような状況で動かないなーって思ったら、

class User
  include Mongoid::Document
  field :user_id, type: String
  has_many :pictures, dependent: :destroy
end

class Picture
  include Mongoid::Document
  belongs_to :user, primary_key: :user_id
end

has_many側にprimary_keyを付け忘れていた

class User
  include Mongoid::Document
  field :user_id, type: String
  has_many :pictures, primary_key: :user_id, dependent: :destroy
end

class Picture
  include Mongoid::Document
  belongs_to :user, primary_key: :user_id
end
Pocket
LINEで送る
LinkedIn にシェア