5

私はMandrillのRubyAPIGemを使用しており、テスト用に次の簡単なテンプレートを使用しています。

<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 <jayson@domain.com>", :subject => "Test Email") do |format|
       format.html { rendered['html'] }
       #format.text { render "test" }
  end

これはうまく機能し、電子メールは私のテンプレートを問題なく送信しますが、テンプレートのmc:edit変数を置き換えるものではありません。私は何かが足りないのですか?

4

1 に答える 1

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 
    }
  ....
于 2013-02-26T17:30:25.620 に答える