2013-10-24 120 views
1

我正在构建一个Ruby on Rails应用程序,它允许用户编写电子邮件并包含将从我们的数据库中动态绘制的字段,如客户姓名,地址等。带自定义字段的ROR电子邮件应用程序

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

我的问题真的是最好的开始 - 具体如何解析和存储数据。我应该以某种方式尝试将表单解析为数组并将其作为单独的字段存储在数据库中? 还是存储在文本字段中并在稍后发送消息时解析消息会更好。有没有宝石或这种常见的技术?任何帮助,将不胜感激。

回答

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

这是一个很好的起点。谢谢! – user2860668

相关问题