2013-02-26 80 views
5

我使用的山魈的Ruby API宝石,并有后续测试简单的模板:山魈API模板

<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> 

继Heroku的引导例子,我有跟随Ruby代码:

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 

这很好,电子邮件发送我的模板很好,但是,它不会取代模板MC:编辑变量。我错过了什么吗?

回答

9

您需要为每个要替换的元素构造一个散列。举例来说,我有这样的一个模板内:在邮件

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

这:

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

真棒!谢谢! – 2013-02-26 19:14:43