使用RJS重新加载页面或div

时间:2010-12-26 10:30:52

标签: ruby-on-rails rjs

我在rails项目中有一个'喜欢'的计数器。每当我点击这个'喜欢'链接时,我想在数据库中添加一个到like_counter。逻辑运行良好,数据库已更新,但我无法弄清楚如何正确设置Ajax请求,以便在完成时刷新页面或div。

在我看来,这看起来如下:

<%= link_to_remote 'like', :url => {
                           :controller => 'projects', 
                           :action => 'like_it', 
                           :id=> @project.id }%>

控制器:

def like_it
    @project = Project.find(params[:id])
    @project.update_like
    render :update do |page|
       page.reload
    end
end

update_like方法在模型中,只需向计数器添加一个并保存项目(此部分有效)。 至于page.reload我会抛出一个RJS错误:ReferenceError:没有定义重载。页面没有重新加载

我做错了什么?有没有更明显的方法来重新加载包含计数器的div?非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

尝试:

render :update do |page|
    page << "window.location.reload()"
end