Итерация по каждой записи в базе данных - Ruby on Rails / ActiveRecord

нбб вопрос. Я'Я пытаюсь перебрать каждую запись пользователя в моей базе данных. Псевдокод может выглядеть примерно так:

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

Может ли кто-нибудь рассказать мне, как лучше всего это сделать? Небольшая помощь с синтаксисом тоже будет здорово :)

 dougiebuckets18 нояб. 2012 г., 17:45
Отправка SMS каждому пользователю в БД. 'число' = пользователь 'номер телефона.
 toxicate2018 нояб. 2012 г., 17:35
Можем ли мы получить немного больше информации о том, что вы пытаетесь достичь. Проходя через вашу пользовательскую базу данных таким образом, кажется немного накладными
 dougiebuckets18 нояб. 2012 г., 18:15
обновил пост со всеми контроллерамикод, чтобы дать больше контекста.
 R Milushev18 нояб. 2012 г., 17:40
Это'Лучше, если вы получите базовые знания в Ruby. Вы не пожалеете об этом, наверняка. Во всяком случае, скажите нам, какова цель, если цикл?

Ответы на вопрос(2)

Решение Вопроса

User.all.each do |user|
  #the code here is called once for each user
  # user is accessible by 'user' variable
end

Для повышения производительности и уменьшения нагрузки используйте (User.find_eachсм док) вместоUser.all, Обратите внимание, что с помощьюfind_each теряет способность сортировать.

 dougiebuckets18 нояб. 2012 г., 19:26
очень полезно Спасибо!

User.all.map { |u| u.number = ""; puts u.number }

Ваш ответ на вопрос