2011-12-19 5 views
1

私はFacebookのコメントソーシャルプラグインを使用しています。誰かが新しいコメントを追加するたびにメールを送信できるようにしたいと考えています。以前は、RailsのAction Mailerを使ってメールを送ってきましたが、それを動作させる方法を理解することはできません。JavaScriptを使用してRails 3 Action Mailerで電子メールを送信するにはどうすればよいですか?

JavaScriptイベントFB.Event.subscribe('comment.create)を聞いています。コールバック関数がAJAXリクエストをActionMailerに送信して電子メールを送信したいと考えています。これはどうすればいいですか?

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 
+0

[こちら](http://phpjs.org/functions/mail:884)を確認してください。 – Purag

+0

@Purmou、彼の質問へのあなたの答えは疑わしいPHP関数ですか? –

+0

@SrdjanPejic:いいえ、PHP.jsメール機能へのリンクです。 PHP.jsを使用すると、JavascriptでPHP関数を使用できます。 – Purag

答えて

0

作成アクションのみのコントローラを作成します。あなたのイベントをActionMailerを呼び出すことだけを目的としたコントローラの作成アクションにPOSTし、電子メールを送信します。サーバーに投稿しているデータをボーナスとして再確認することができます。

コントローラは、1:1をモデルにマップする必要はありません。

1

私はおそらくちょうど私がcommentMailerコールバックに提出する隠しフォームを持っているでしょう。それは、希望の受信者にメールを配信するコントローラmailer_controllerのアクションを打つでしょう。

隠しフォームを使用する利点は、JavaScriptにPOSTするURLを作成する必要がないことです。

関連する問題