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
用户模型
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