我有一个投票系统,我正在尝试Ajax。
在视图中我有:
<div id="yes"><%=button_to 'Vote',vote_path(c),:id=>c.id,:remote=>true,:html=>{:class=>"vote"}%></div>
and the controller goes:
number=Video.find(params[:id])
number.increment!(:votes)
if number.update_attributes(params[:votes])
flash[:notice] = "Vote Recorded Successfully."
render :text => number.votes
end`
当用户投票时,我想隐藏投票按钮并显示“感谢投票”等消息。
所以,在我的application.js中,我有
$(document).ready(function(){
$(".vote").bind("ajax:success",function(evt,xhr,settings){
var $ent=$(this);
$ent.find(("div.yes")).hide(100);
}
}
);
请指出一些资源来完成这件事。谢谢。
答案 0 :(得分:1)
你必须返回jQuery可以处理的东西,普通的JSON工作正常:
def vote
...
render :json => {:votes => number.votes}
end
答案 1 :(得分:0)
而不是渲染:text,渲染erb.js视图。这被称为不引人注目的javascript。