gpt4 book ai didi

ruby-on-rails - Array.delete(object) 从数据库中删除?

转载 作者:数据小太阳 更新时间:2023-10-29 07:50:25 27 4
gpt4 key购买 nike

所以我试图获取一组不包含@post 的帖子。令我惊讶的是,下面的代码导致@post 从数据库中被删除!

@post = Post.find(2)
@posts = Post.where(:text => "title")
@posts.delete(@post)

为什么数组函数会从数据库中删除@post? Rails 是否扩展或覆盖此功能?我以为只有 .destroy 函数可以从数据库中删除对象?我想我对 .where 函数返回什么以及使用 @ 和不使用 @ 作为变量的后果感到困惑。

提前致谢!

最佳答案

在执行 Post.where(:text => 'title') 之后存储在 @posts 中的不是数组。它是一种 ActiveRecord::Relation 对象。

当您使用 @post 作为参数调用 delete 时,您是在告诉 Rails 从数据库中删除该对象。

关于ruby-on-rails - Array.delete(object) 从数据库中删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14667924/

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