簡體   English   中英

如何使用JavaScript通過Rails 3 Action Mailer發送電子郵件?

[英]How do I use JavaScript to send an email with the Rails 3 Action Mailer?

我正在使用Facebook Comments社交插件,我希望每次有人添加新評論時都能夠發送電子郵件。 過去,我曾使用Rails的Action Mailer發送電子郵件,但我不知道如何使它正常工作。

我正在監聽JavaScript事件FB.Event.subscribe('comment.create)然后希望回調函數向ActionMailer發送AJAX請求以發送電子郵件。 我該怎么做呢?

JavaScript代碼:

FB.Event.subscribe('comment.create', commentMailer(response))

function commentMailer(response) {
    //code to call function to send mail
}

Rails代碼:

class UserMailer < ActionMailer::Base
 default :from => "<email address>"


  def new_comment_email(user, ride)
    @user = user
    @ride = ride
    emails = ride.users.collect {|user| user.email}
    mail(:to => emails, :subject => "etc")
  end
end

我可能只有一個隱藏表單,可以在commentMailer回調中提交。 它會在mailer_controller控制器中執行一個動作,該動作會將郵件傳遞給所需的收件人。

隱藏表單的優點是您不必在JavaScript中創建要發布到的網址。

僅使用創建動作創建控制器。 將事件發布到該控制器的create動作中,該動作的唯一目的是調用ActionMailer並發送電子郵件。 您將能夠仔細檢查作為獎勵的服務器上發布的數據。

請記住,控制器不需要將1:1映射到模型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM