目前我有SuperAdmin
可以销毁users
和posts
。
但是,在销毁用户时会出现问题。由于所有用户的旧帖子仍然存在,因此有一堆帖子留下了空白用户。错误随之而来。
您是否知道如何对其进行编码,以便在用户被销毁时,该用户的所有帖子也会被销毁?以下是我在SuperAdmin控制器中使用的内容。
class SuperAdminController < ApplicationController
layout 'super_admin'
before_action :authenticate_super_admin!
end
def destroy
@user = User.find(params[:id])
@user.destroy
if @user.destroy
redirect_to :back, notice: "User deleted."
end
end
提前致谢并耐心等待。我是编码的新手。
答案 0 :(得分:7)
在关联中使用dependent
选项。
这是一个模型定义的例子。当您删除帖子时,其资产也将被删除,作为从属关联的一部分:
class Post < ActiveRecord::Base
has_many :assets, dependent: :destroy
end
来源:http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html