Cannot access instance variable in mailer view

Action Mailer is detecting my HTML view but not evaluating any
instance variables I’m referencing in it. Here is my mailer:

class Emailer < ActionMailer::Base

def send_default(recipient, subject, message, sent_at)
@body = message
mail(:to => recipient, :subject => subject)
end

end

I have a view called

This is an HTML email:
<%= @body %>
End of the body.

When I receive the email in Gmail, here is all I see:

This is an HTML email:

End of the body.

Nothing is outputted between those 2 sentences! Any ideas as to
what’s happening? I verified that in the mailer method, @body has a
value. I’m using Rails 3.0.7 and Ruby 1.9.2 and following this guide:

http://guides.rubyonrails.org/action_mailer_basics.html

On Fri, May 27, 2011 at 4:40 PM, Stephen H. [email protected]
wrote:

end

This is an HTML email:
<%= @body %>
End of the body.

Hmmm… I just checked as I am doing just about the same thing. Your
code
looks ok, the only difference with mine is I am naming the class
variable
@body_text. I am wondering if @body for you might be getting renamed
somewhere? Its a long shot but try renaming the variable. Also, you can
put
a break point inside the mailer view I think — <%= debugger; @body
%>…
then you can really see what is getting in there.

David, that’s exactly what I did to solve the problem! I renamed the
instance variable and started seeing my string inserted into the
email. Using @body was definitely an issue for some reason.

Thanks,
Stephen

On Fri, May 27, 2011 at 7:32 PM, Stephen H. [email protected]
wrote:

David, that’s exactly what I did to solve the problem! I renamed the
instance variable and started seeing my string inserted into the
email. Using @body was definitely an issue for some reason.

Great… I vaguely recall that I had the same issue, hence the name. I
think I decided that @body must be reserved or used by rails somewhere.
Anyhow, glad it helped!

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs