我在隐藏的Div中有一个投票按钮,使用pirobox加载。触发链接是:
<div class="inliner"><a href="#vid_<%=c.id%>" rel="inline-1000-500" class="pirobox_gall1"><h5><%=c.title%></h5></a></div>
在隐藏的div中,我的投票按钮有以下内容:
<%=button_to 'Vote',vote_path(:format=>:js,:id=>c.id),:remote=>true%>
在控制器中我有:
def vote
@video=Video.find(params[:id])
@video.increment!(:votes)
respond_to do |format|
format.js { render :layout=>false }
end
end
最后在我的js.erb中,我有:$('p#success_<%=@video.id%>').fadeIn('slow').delay(1000).fadeOut('slow');
当点击触发链接时,pirobox会加载隐藏的内容。当我点击投票按钮时,投票会增加,同时渲染js.erb文件。一切正常。 但是,现在我关闭了pirobox弹出窗口。然后再次触发它并单击投票按钮。投票字段增加,但js.erb未呈现:( 我该如何解决这个问题?
答案 0 :(得分:0)
让我们清理一下你的代码;
您的按钮:
<%= button_to 'Vote', vote_path(c), :remote => true %>
你的控制器:
def vote
@video = Video.find(params[:id])
@video.increment!(:votes)
end
你的js:
$('#success_<%= @video.id %>').fadeIn('slow').delay(1000).fadeOut('slow');
现在运行Firebug
并通过cosole跟踪你的ajax调用