私のモデルでは
class User < ActiveRecord::Base
has_one :user_detail, dependent: :destroy
end
と
class UserDetail < ActiveRecord::Base
belongs_to :user
end
User オブジェクトに対して destroy を呼び出すと、関連する UserDetail オブジェクトが破棄されません。
user_detail
これがテストです (もちろん、 is が nil ではないので失敗します):
test "associate object should be destroyed" do
user_id = @user.id
@user.destroy
user_detail = UserDetail.find_by(:user_id => user_id)
assert_nil user_detail
end
なぜこれが起こるのか誰にも分かりますか?