n00b 问题。我正在尝试遍历数据库中的每个用户记录。伪代码可能看起来有点像这样:
def send_notifications
render :nothing => true
# Randomly select Message record from DB
@message = Message.offset(rand(Message.count)).first
random_message = @message.content
@user = User.all.entries.each do
@user = User.find(:id)
number_to_text = ""
@user.number = number_to_text #number is a User's phone number
puts @user.number
end
end
有人可以告诉我执行此操作的最佳方法吗?语法方面的一点帮助也会很棒 :)
最佳答案
这是遍历所有 User 的正确语法:
User.all.each do |user|
#the code here is called once for each user
# user is accessible by 'user' variable
# WARNING: User.all performs poorly with large datasets
end
要提高性能并减少负载,请使用 User.find_each
( see doc ) 而不是 User.all
。请注意,使用 find_each
会失去排序的能力。
关于ruby-on-rails - 遍历数据库中的每条记录 - Ruby on Rails/ActiveRecord,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13442073/