我想知道在 ajax 请求完成后如何/在哪里编写回调函数?
我正在构建一个 twitter 应用程序,并在用户单击“关注”后尝试发送电子邮件通知。以下/取消关注是使用 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 是一个函数 btw,它分配/返回 current_user
我该怎么做?谢谢!