ajaxリクエストが完了した後、コールバック関数をどこに/どのように書くべきか疑問に思っていましたか?
ツイッターアプリを構築していて、ユーザーが「フォロー」をクリックした後にメール通知を送信しようとしています。フォロー/フォロー解除はajaxを使用して行われます。ユーザーがフォローをクリックすると、私は...
def follow!(other_user)
relationships.create!(followed_id: other_user.id)
end
順番に呼び出す
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
ただし、その UserMailer 行を追加することで、私の ajax に大幅に遅れが生じます。代わりに、どこに/どのようにメール リクエストを送信すればよいですか? ajaxが終了した後にコールバック関数を考えていましたが、どこにどのように追加すればよいかわかりません。
申し訳ありませんが、私はまだこれにかなり慣れていません。どうもありがとう!
うーん、おそらくこれを行うには jquery を使用するのが良い方法であることがわかりました。フォローボタンを付けることにしました
<%= f.submit "Follow", :class => "btn btn-large btn-primary",
:id => "follow_button"%>
IDと使用されたjquery
$("#follow_button").bind('ajax:success', function() {
});
後でメールを送信します。ただし、どのように変数を渡すことができるかは本当に確信しています。私が達成したい究極のラインは
UserMailer.is_now_following(@user, current_user).deliver
current_user は、 current_user を割り当てる/返す関数です
どうすればいいですか?ありがとう!