Rails:如何在用户被销毁时销毁所有用户的帖子

时间:2015-11-22 15:29:52

标签: ruby-on-rails

目前我有SuperAdmin可以销毁usersposts

但是,在销毁用户时会出现问题。由于所有用户的旧帖子仍然存在,因此有一堆帖子留下了空白用户。错误随之而来。

您是否知道如何对其进行编码,以便在用户被销毁时,该用户的所有帖子也会被销毁?以下是我在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

提前致谢并耐心等待。我是编码的新手。

1 个答案:

答案 0 :(得分:7)

在关联中使用dependent选项。

这是一个模型定义的例子。当您删除帖子时,其资产也将被删除,作为从属关联的一部分:

class Post < ActiveRecord::Base
  has_many :assets, dependent: :destroy
end

来源:http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html