我想知道在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
我该怎么做?谢谢!
答案 0 :(得分:1)
这些railscasts系列很老,但可能会有所帮助
http://railscasts.com/episodes/127-rake-in-background
答案 1 :(得分:0)