ajax メソッドが完了した後に、アクション メーラー メソッドを実行したいと考えていました。私は本質的にツイッターアプリを構築しており、誰かが「フォロー」をクリックした後に電子メール通知を送信したいと考えていました。これは非同期で行われます。
フォローボタンにIDをつけました
<%= f.submit "Follow", :class => "btn btn-large btn-primary",
:id => "follow_button"%>
そしてjqueryを使用しました
$("#follow_button").bind('ajax:success', function() {
});
ただし、jquery で UserMailer を参照する方法は確かです。私のajaxが完成した後、最終的にはこの行を実行しようとしています
UserMailer.is_now_following(@user, current_user).deliver
ありがとう!
うーん、(フォローの関係を作成するために)作成関数にそのコード行を追加しようとしましたが、それは私のajaxにかなり遅れをとっています。ajaxは、「フォロー」がクリックされた後に「フォロー解除」ボタンをレンダリングすることです。
def create
@user = User.find(params[:relationship][:followed_id])
current_user.follow!(@user)
respond_to do |format|
format.html {redirect_to @user}
format.js
end
#UserMailer.is_now_following(@user, current_user).deliver
end
私はそれをコメントアウトしました。これは、私の ajax 呼び出しが成功した後に追加するという意味ですか? また、どのようにジョブをキューに入れますか? ありがとう!