2011-12-20 30 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

相關問題