如何将动态内容传递给Rails中的山魈模板

Posted

技术标签:

【中文标题】如何将动态内容传递给Rails中的山魈模板【英文标题】:how to pass dynamic contents to mandrill Template in Rails 【发布时间】:2014-07-14 20:29:33 【问题描述】:

在我的 mandril 帐户上创建了一个模板: 订单确认

<div class="thank-you">
        Thank you for your <b> *|ORDER|* </b> order !
</div>

<div class="thank-you">
Please find Summary of your order   <span class="order-no"> *|ORDER|* </span>  from below section. 
</div>

我编写了下面的代码来传递 ORDER 和 ORDER_NUMBER 的动态值

m =Mandrill.new "API KEY"

template_name = "order_confirmation"

template_content = ["name"=>"example name", "content"=>"example content"]

message =   

  "subject" => "Order Confirmation message",  
  "from_name" => "Application",  
 :text=>"Order Confirmation Message",  
 :to=>[  
     
     :email=> "rec@email.com",  
     :name=> "recipient name"  
     
 ],
"merge"=>true,
"global_merge_vars" =>[
 
    "ORDER" => "577575"
 
],
 :from_email=>"sender@yourdomain.com"  
  

sending = m.messages.send message 

它可以发送邮件,但我的模板内容没有呈现在邮件内容中。

【问题讨论】:

首先使用此 API 请求设置 Merge Tag 数据apidocs.mailchimp.com/api/2.0/lists/merge-var-set.php 示例代码 尊敬的|USER|, 感谢您购买ABC Widget Company 的|ORDER|。我们感谢您的业务,并在下方附上了您的发票副本。已在我的模板中包含此内容。 【参考方案1】:

确保 ruby​​ 代码中的名称是小写的。

如果是的话

*|ORDER|*

那么在你的代码中应该是:

template_content = ["name"=>"order", "content"=>"example content"]

【讨论】:

在我的情况下,它甚至可以使用带有大写后者的名称键,例如:ORDER

以上是关于如何将动态内容传递给Rails中的山魈模板的主要内容,如果未能解决你的问题,请参考以下文章

如何将模板中的动态表传递给我的视图以迭代地将它们保存到我的数据库中

电子邮件模板中的动态内容

如何通过API向山魈模板中的所有链接添加参数?

在 mandrill 模板中使用 Ruby/rails 变量

如何将下拉值传递给模板助手。 [流星+火焰]

将变量传递给nodemailer中的html模板