How to pass an ERB template as string?

Hello everyone, I'm using a gem called aws-ses and I'm trying to sophisticate the email I am sending, here is the code currently:

ses = AWS::SES::Base.new(:access_key_id => 'foo', :secret_access_key => 'bar')

email ={
  :to => "#{subscriber.email}",
   :source => "'#{ag.name}' <no-reply@#{ag.domain}>'",
   :subject => 'Hello',
   :html_body => "<h1>#{subscriber.name}</h1>"
}

ses.send_email email

However, instead of passing a hard coded string to the :html_body key, I want to pass a template in app/views/layouts/mail.html.erb

Is there any method/Rails helper that lets me convert an entire template to string and pass to the html_body key?

P.S: If you have already used this gem and know a/another way to help me please do it :wink:

Thanks in advance, everyone!

Hello everyone, I’m using a gem called aws-ses and I’m trying to sophisticate the email I am sending, here is the code currently:

ses = AWS::SES::Base.new(:access_key_id => ‘foo’, :secret_access_key => ‘bar’)

email ={

:to => “#{subscriber.email}”,

:source => “’#{ag.name}’ <no-reply@#{ag.domain}>’”,

:subject => ‘Hello’,

:html_body => “

#{subscriber.name}

}

ses.send_email email

However, instead of passing a hard coded string to the :html_body key, I want to pass a template in app/views/layouts/mail.html.erb

Is there any method/Rails helper that lets me convert an entire template to string and pass to the html_body key?

P.S: If you have already used this gem and know a/another way to help me please do it :wink:

Sorry, I haven’t used the gem yet but if you want to evaluate an erb file, you might want to check out the ERB class.

http://ruby-doc.org/stdlib/libdoc/erb/rdoc/classes/ERB.html

Rodrigo Alves Vieira wrote in post #1017309:

Hello everyone, I'm using a gem called aws-ses and I'm trying to
sophisticate the email I am sending, here is the code currently:

ses = AWS::SES::Base.new(:access_key_id => 'foo', :secret_access_key =>
'bar')

email ={
  :to => "#{subscriber.email}",
   :source => "'#{ag.name}' <no-reply@#{ag.domain}>'",
   :subject => 'Hello',
   :html_body => "<h1>#{subscriber.name}</h1>"
}

ses.send_email email

However, instead of passing a hard coded string to the :html_body key, I
want to pass a template in app/views/layouts/mail.html.erb

Is there any method/Rails helper that lets me convert an entire template
to string and pass to the html_body key?

File I/O is one of the most basic concepts in ruby:

str = ""

File.open('path/to/file.txt', 'r') do |f|
  str << f.read
end