gpt4 book ai didi

ruby-on-rails - 删除用户连同他的帖子

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:47 25 4
gpt4 key购买 nike

我有两个模型 - User 和 Post。用户 has_many :posts 和 Post belongs_to :user。我想在删除用户时自动删除用户的帖子。我怎样才能做到这一点?我对 ruby 很陌生..

class User < ApplicationRecord
has_many :posts
end

class Post < ApplicationRecord
belongs_to :user
end

class UsersController < ApplicationController
def destroy
@user = User.find_by(id:params[:id])
@user.posts
@user.destroy
end
end

我试过上面的代码,但仍然只删除了用户,而不是他的帖子。提前致谢!

最佳答案

has_many 需要 dependent 选项:

class User < ApplicationRecord
has_many :posts, dependent: :destroy
end

用它你只删除一个需要的用户,他的帖子会自动销毁

def destroy
@user = User.find_by(id: params[:id])
@user.destroy
end

请在 guides 中阅读更多相关信息

关于ruby-on-rails - 删除用户连同他的帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54166307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com