Friday, May 27, 2011

[Rails] 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

<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-
Type" />
</head>
<body>
This is an HTML email: <br />
<%= @body %>
<br />
End of the body.
</body>
</html>


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

--
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 rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate