1

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 を割り当てる/返す関数です

どうすればいいですか?ありがとう!

4

2 に答える 2

1

これらの railscasts シリーズはかなり古いものですが、参考になるかもしれません

http://railscasts.com/episodes/127-rake-in-background

http://railscasts.com/episodes/128-starling-and-workling

http://railscasts.com/episodes/129-custom-daemon

于 2012-04-05T04:47:45.073 に答える