gpt4 book ai didi

ruby-on-rails - 在数组上运行 destroy_all?

转载 作者:行者123 更新时间:2023-11-29 11:15:15 24 4
gpt4 key购买 nike

如何运行 destroy_all在阵列上?

我有以下查询:

spam_users = User.find_by_sql("SELECT * FROM users WHERE email ~* '21cn.com'")

我试过运行 spam_users.destroy_all但我得到 undefined method 'destroy_all' for #<Array:0x10b09ce30> .

我在这个特定的应用程序中运行 Rails 2.3.8 以及 PostgreSQL。

最佳答案

你不执行 destroy_all在数组上,destroy_all 是模型中的一个类方法。以下内容应该会杀死您的 spam_users 数组中的所有内容:

User.destroy_all("email ~* '21cn.com'")

您还可以遍历 spam_users,如果您已经将它们用于其他目的,则将它们一一销毁:

spam_users.each(&:destroy)

您可能还想稍微调整一下正则表达式:

User.destroy_all("email ~* '21cn\\.com$'")

这样您就可以查找文字 . 而不是“任何字符”并将其锚定到字符串的末尾。您还可以使用 %q(...) 带引号的字符串来减少转义:

User.destroy_all(%q(email ~* '21cn\.com$'))

关于ruby-on-rails - 在数组上运行 destroy_all?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7383041/

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