On 11 April 2011 08:19, vone vonich <[email protected]> wrote:
> I have a table of emails. And i need that Each user received email.
>
> SO i made:
>
> script/generate mailer Notifier
>
> Next.
>
> class Notifier < ActionMailer::Base
> def newgrants_notification(respondent)
> recipients user.email
> from "[email protected]"
> subject "Hi!"
> body (:respondent => respondent)
> end
> end
In line 3 of this, you're using the local variable 'user', which
doesn't exist, so it's probably throwing an error. (In fact, if you
got an error, could you share it with us so that we can help better?)
You probably want 'respondent' there instead.
Also, note that your method 'newgrants_notification' takes a *single*
respondent as a parameter...
> In app/views/notifier/newgrants_notification.erb wrote : Hello!
>
> and this my controller where i create question
>
> @question = Question.create(:text => params[:question][:text], :security
> => rand(888).to_i)
>
> if success = @question.save
> respondents = Respondent.find(:all)
> respondents.each do |res|
> Inquiry.create(:question_id=>@question.id.to_i,
> :respondent_id=>res.id.to_i)
> Notifier.newgrants_notification(respondents).deliver #this is
> right??
> end
...while in this code, you call 'newgrants_notification' with an
*array* of users ('respondents'). You probably intended to pass a
single respondent (in that block, 'res') to the method.
Chris
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.