2014-03-29 128 views
0

为我们的支持团队构建“票务系统”,以便他们可以在客户打电话和请求某些内容时创建票据。ActionMailer自动电子邮件。 Ruby on Rails

我有相当多的启动和运行,现在我需要每次为应用程序创建一张票,以发送电子邮件给分配给该票的人。这些信息都在数据库中,并且很容易访问。

你们有什么建议我可以如何弥补这个或我可以使用的任何文件?

谢谢!

回答

0
# Model 
class Ticket 

    ... 
    after_create: :send_email 
    ... 

    def send_email 
    Mailer.delay_for(5.minutes).send_ticket(id, assigned_to.id) # delay sending e-mail 
    Mailer.send_ticket(id, assigned_to.id).deliver # or send it now.. 
    end 
end 

class Mailer < ActionMailer::Base 

    def send_ticket(ticket_id, assigned_to_id) 
    @assigned_to = User.find(assigned_to_id) 
    @ticket = Ticket.find(ticket_id) 
    mail(
     from: 'you<[email protected]_domain.com>', 
     to: @assigned_to.email, 
     subject: 'new assignment' 
    ) 
    end 
end 

这主要逻辑,现在的看法 添加下列文件app/views/mailer/send_ticket.html.haml

Hey #{@assigned_to.name}, 
%p you have been assigned to a new ticket #{@ticket.id} 
%p here is the link to the ticket #{@ticket.url} 
+0

感谢,这是所有的设置吧!获取入场券的主体有多困难,并且使其创建对分配的票证的评论? – meritonch

+0

没有那么难,只是在视图中的一些修改,你会一切设置。这就是为什么我添加了这个小视图...请注意,视图中的@ vars必须与'send_ticket'方法相同,以便您可以访问它们... –

相关问题