我尝试在我的一个rails项目中实现一个投票功能。我使用以下代码(在vote.rjs中)将页面替换为部分模板(_vote.rhtml)。但是当我点击的时候,投票号码不能立即更新。我必须刷新页面才能看到更改。
vote.rjs
page.replace("votes#{@foundphoto.id}",:partial=>"vote",:locals=>{:voteable=>@foundphoto})
部分模板如下:
_vote.rhtml
">
<%= link_to_remote "+(#{voteable.votes_for})",
:update=>"vote", :url => { :action=>"vote", :id=>voteable.id, :vote=>"for"} %>/
<%= link_to_remote "-(#{voteable.votes_against})",
:update=>"vote", :url => { :action=>"vote", :id=>voteable.id, :vote=>"against"} %>有什么想法吗?谢谢。
发布于 2010-05-04 12:53:55
您的代码中包含"prototype.js"吗?
发布于 2010-05-20 16:06:24
请使用firebug来检查响应,我相信对服务器的调用是成功的,并且它也在更改数据。如果您在development.log中发现任何错误,请发布,尝试通过给出一个简单的
page.alert "some alert" 请在您的vote.rjs中保留以上行,并查看是否收到一些警报。
如果您的development.log文件中没有错误,那么您可能忘记了在页面中包含javascript,或者如果您正在使用jquery javascript库但忘记安装jrails。
请将您的日志张贴一次,以明确这个问题。
https://stackoverflow.com/questions/2762363
复制相似问题