我的链接呈以下渲染形式:
<span id="follow_link">
<a href="/tfollow_artist?id=8103103" data-method="post" data-remote="true" id="follow_artist" rel="nofollow">Unfollow</a>
</span>
我的控制器设置如下:
def tfollow_artist
@artist = Artist.find(params[:id])
if current_user.following?(@artist)
current_user.stop_following(@artist)
else
current_user.follow(@artist)
end
end
最终将其呈现为以下js:
$('#follow_link').html('<%= escape_javascript(render :partial => "follow") %>');
这实际上是用不同的文本替换了带有'id="follow_link"'的<span>元素中的HTML内容,但URL保持相同。例如,现在会呈现为:
<span id="follow_link">
<a href="/tfollow_artist?id=8103103" data-method="post" data-remote="true" id="follow_artist" rel="nofollow">Follow</a>
</span>
然而这些代码会导致 JQuery 发起两次 AJAX 请求。
有人能看出问题在哪里吗?
我正在使用 'jquery-rails' gem,它将最新的 jquery-ujs 文件复制到我的应用程序中。JQuery 版本是 1.4.3。