2013-02-26 5 views
5

I Mandrill Ruby API Gem bin mit und haben die einfache Vorlage folgen für die Prüfung:Mandrill API Templating

<html> 

    <body> 
     <h1 mc:edit="header">testastic</h1> 
     <hr/> 
     <br/><br/> 
     <div mc:edit="main_section"></div> 
     <hr/> 
     <div mc:edit="footer"></div> 
    </body> 
</html> 

Beispiel auf Heroku Leitfaden Nach ich die folgen Ruby-Code haben:

require 'mandrill' 
    m = Mandrill::API.new 
    rendered = m.templates.render 'test-template', [{:header => 'some header text', :main_section => 'The main content block', :footer => '<h3>asdf</h3>'}] 

    mail(:to => "Jayson Lane <[email protected]>", :subject => "Test Email") do |format| 
     format.html { rendered['html'] } 
     #format.text { render "test" } 
    end 

Das funktioniert gut und die E-Mail sendet meine Vorlage gut, aber es ersetzt nicht die Vorlage mc: Variable bearbeiten. Fehle ich etwas?

Antwort

9

Sie müssen für jedes Element, das Sie ersetzen möchten, einen Hash erstellen. Zum Beispiel habe ich diese innerhalb einer Vorlage:

<h3 mc:edit="plan_info_name"> </h3> 
    <span mc:edit="plan_info_description"> </span> 
    <span mc:edit="plan_info_benefits"> </span> 

Und das auf dem Mailer:

mandrill.messages.send_template(template,[ 
    { 
    :name => 'plan_info_name', 
    :content => extra[:membership_info].name 
    }, 
    { 
    :name => 'plan_info_description', 
    :content => extra[:membership_info].long_description 
    }, 
    { 
    :name => 'plan_info_benefits', 
    :content => benefits_list 
    } 
    .... 
+0

awesome! Vielen Dank! –