1

我正在构建一个 Ruby on Rails 应用程序,它允许用户编写电子邮件并包含客户姓名、地址等字段,这些字段将从我们的数据库中动态提取。

用户最好能够将文本写入 from,然后按“添加名称”按钮,然后将 <%= name %> 之类的内容添加到表单中,并且在发送时实际上包含客户名称。

我的问题实际上是什么方法是最好的开始 - 特别是如何解析和存储数据。我应该以某种方式尝试将表单解析为数组并作为单独的字段存储在数据库中吗?还是将其存储在文本字段中并稍后在发送消息时将其解析出来是否更好。有宝石或某种通用技术吗?任何帮助,将不胜感激。

4

1 回答 1

1

您要做的是将带有占位符的电子邮件存储在数据库中,然后在发送之前进行解析。当用户点击“添加名称”时,您应该注入类似的东西{name},而不是 ERB。然后您存储的电子邮件将如下所示:

嗨 {name} 等

这都可以打包成一个Email模型:

class Email < ActiveRecord::Base

  belongs_to :user

  attr_accessible :subject, :body

  def placeholders
    {
      "name" => user.name,
      "subject" => subject,
      "footer" => user.email_footer
    }
  end

  def parsed_email
    email = body.dup
    placeholders.each { |key, val| email.gsub!("{#{key}}", val) } 
    email
  end

end
于 2013-10-24T04:06:13.343 回答