用RJS替换页面

时间:2010-05-04 01:59:21

标签: ruby-on-rails ajax rjs

我尝试在我的一个rails项目中实现投票功能。我使用以下代码(在vote.rjs中)用部分模板(_vote.rhtml)替换页面。但是当我点击时,投票号码无法立即更新。我必须刷新页面才能看到变化。

vote.rjs

page.replace(“vote#{@ foundphoto.id}”,:partial =>“vote”,:locals => {:voteable => @foundphoto})

部分模板如下:

_vote.rhtml

“>
<%= link_to_remote“+(#{voteable.votes_for})”,
      :更新=> “中表决”,
      :url => {:action =>“投票”,
                   :ID => voteable.id,
                   :vote =>“for”}%>
/
<%= link_to_remote“ - (#{voteable.votes_against})”,
      :更新=> “中表决”,
      :url => {:action =>“投票”,
                   :ID => voteable.id,
                   :vote =>“反对”}%>

任何想法?感谢。

2 个答案:

答案 0 :(得分:0)

您是否在代码中加入了"prototype.js"

答案 1 :(得分:0)

请使用firebug检查响应,我相信对服务器的调用成功,并且它也在更改数据。如果您在development.log中发现任何错误,请发布,尝试通过简单的

来测试您的应用程序
page.alert "some alert" 

请在vote.rjs中保留上述行,看看您是否收到警报。

如果您的development.log文件中没有错误,那么您可能忘记在页面中包含javascripts,或者如果您使用的是jquery javascript库但忘记安装jrails。

请将您的日志发布一次以明确此问题。