ruby on rails 嵌套结构未删除相关对象

ruby on rails Nested structure not deleting the related objects

用户模型

class User < ApplicationRecord
  has_many :posts
  accepts_nested_attributes_for :posts, allow_destroy: true
end

post 型号

class Post < ApplicationRecord
  belongs_to :user
  accepts_nested_attributes_for :user, allow_destroy: true
end

用户控制器

class Api::UsersController < ApiController
  def destroy
    User.destroy(params[:id])
  end
end

我以为如果我使用 destroy 销毁用户,所有与用户相关的 post 将被自动删除。

但是还是什么都没有删除。 我在这里做错了什么?

您可以使用dependent: :delete_all

has_many :posts, :dependent => :delete_all