首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rails控制台中。如何更新所有记录的字段?

在Rails控制台中。如何更新所有记录的字段?
EN

Stack Overflow用户
提问于 2011-10-08 05:41:47
回答 4查看 30.9K关注 0票数 27

如何在控制台中将表Notification.email更新为全真?

在控制台中,我想遍历表中的所有记录并设置email = true。

想法?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-10-08 05:49:05

你在找update_allSee doc

注意,这种方式不会触发回调。

票数 34
EN

Stack Overflow用户

发布于 2011-10-08 05:55:32

这应该是可行的

代码语言:javascript
复制
Notification.all.each do |n| n.update_attribute(:email, true); end

编辑:从bricker定制:

代码语言:javascript
复制
Notification.all.each { |n| n.update_attribute(:email, true) }
票数 37
EN

Stack Overflow用户

发布于 2014-06-23 21:43:12

您可以使用:

代码语言:javascript
复制
Notification.update_all(email: true)

如果你在更新的时候另外有一个条件,你应该使用:

代码语言:javascript
复制
Notification.find_each { |n| n.email = (n.id > 100) ? true : false }

对于大型数据库表来说,使用Something.all不是一个好主意。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7693127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档