2013-03-05 3 views
0

Здесь я определяю получателя параметрами.
Что делать, если я хочу отправить сообщение всем пользователям, которые уже подтвердили это сразу?
Как я могу написать?Как отправить сообщение всем пользователям?

У кого-нибудь есть идеи?

контроллер

recipient = User.find_by_username(params[:messages][:recipient]) 

    if recipient.confirmed_at.nil? 
     redirect_to messages_sent_path 
     flash[:notice] = "This user hasn't confirmed yet!" 
     return 
    end 

    params[:messages][:subject] = 'no subject' if params[:messages][:subject].blank? 
    subject = params[:messages][:subject] 
    body = params[:messages][:body] 

    if current_user != recipient 
     current_user.send_message(recipient, body, subject) 
     redirect_to :controller => 'messages', :action => 'sent' 
     flash[:notice] = "Sent!" 
    else 
     redirect_to :controller => 'messages', :action => 'received' 
     flash[:notice] = "Cannot send to yourself!" 
    end 

ответ

1

Если вы используете MySQL/sqlite3

users = User.where('confirmed_at IS NOT NULL') 
users.each do |user| 
    current_user.send_message(user, body, subject) 
end 
+0

Спасибо :) Пожалуйста, дайте мне попробовать, что :) – HUSTEN

+0

Не должно быть 'users.each делать | получатель | '?? – HUSTEN

+0

Плохо, немного изменилось – Intrepidd

Смежные вопросы