2012-05-24 21 views
1

我想單擊時提供一個鏈接,它會發送一封電子郵件給管理員,通知他們刪除一條記錄。我搜索了幾個小時,包括在內,但找不到任何示例。在link_to語句中使用ActionMailer方法 - Rails 3.2.3

下面是當前代碼我想修改:

link_to "Delete your User Account?", @user, method: :delete, confirm: "You sure? This will permanently delete your account. If you want to access our site in the future you will need to create a new account again. Are you sure you want to delete your account?" %> 

我想替代「的方法:刪除」用的ActionMailer方法。我查看了api.rubyonrails.org和其他地方的Ruby文檔,但找不到任何東西。

這是我不用安裝寶石就可以做的事情嗎?

爲什麼很難用例子找到文檔?嘆息.....

回答

0

「方法:刪除」是當您調用url,然後由路由使用以查找正確的控制器和操作時,標頭中傳遞的HTTP方法。

您將希望將您的方法調用放置在您的控制器中用戶#銷燬操作所在的郵件程序。

它會是這樣的。

def destroy 
    @user = User.find(params[:user]) 
    if @user.desotry 
    # Tell the UserMailer to send a email after destroy 
    UserMailer.delete_account_email(@user).deliver 
    redirect_to(@user, :notice => 'Account was successfully closed.') 
    end 
end 
+0

非常感謝。我創建了一個布爾字段來做到這一點。我應該想到那個。我將刪除該字段並使用您的建議。我相信它會起作用。 另一個問題:您可以將任何字段傳遞給除收件人模型上的字段之外的ActionMailer嗎?我想用工作字段替換添加到數據庫的字段。也許我可以像創建密碼和密碼確認一樣創建它們,但不能將它們物理地放在數據庫中。 非常感謝您的意見。 –

+0

你應該閱讀http://guides.rubyonrails.org/action_mailer_basics.html 也不要忘記標記爲已回答。 :) –

+0

謝謝,數字。請讓我知道如何標記回答:) 我使用了您爲ActionMailer建議的鏈接編寫我的初始郵件。這真的很好。不過,我希望看到郵件使用從屏幕傳遞字段的例子。你知道這個的任何例子還是這甚至可能?所有的例子都使用一個參數。 –