2011-12-20 67 views
0

我有建议has_many批准。导轨3:我如何将ActionMailer的link_to写入刚刚创建的对象

当获得一个批准时,用户为需要批准的下一个用户提供电子邮件地址。

在我的型号核准

after_save :create_next_approval, :approval_notification 


    attr_accessor :next_approver_email 

    def recently_approved? 
     self.approved_changed? && self.approved? 
    end 

    def create_next_approval 
     #self.recommendations.create :email => self.next_approver_email if next_approver_email.present? && recently_approved? 

     next_approval = self.recommendation.approvals.build(:email => self.next_approver_email) 
     next_approval.save if next_approver_email.present? && recently_approved? 
    end 
private 
    def approval_notification 
    ApprovalMailer.needs_approval(self).deliver 
    end 

在create_next_approval方法,我节省了next_approval。然后,我发送电子邮件至next_approver_email地址,要求他们批准该建议。

我在这里保存这个批准,我需要链接到它被发送出去的电子邮件......任何想法?

回答

0

如果我正确地关注你。您需要链接到您刚刚保存的审批。所以这将是self

在这种情况下,这样的事情会在你的电子邮件的工作,如果你有正常的路线设置:<%= link_to "approval link", approval_path(self) %>

让我知道如果我下面的正确。

+0

我的路线https://gist.github.com/1502681,我不知道我可以在像这样的视图中呼叫自己 – 2011-12-20 18:41:51

+0

我认为它需要像recommendation_approval_path(self)... – 2011-12-20 18:49:15

+0

是的,那些路线,TJ是正确的。因为您将自己作为方法的一个属性传递给视图,所以可以使用它。 – Stone 2011-12-21 07:09:15

相关问题