2010-11-13 67 views
1

如何在rails 2.3.8中使用Ajax更新页面的一部分?Rails Ajax不更新

我正在尝试制作带有按钮的日历,以前往下个月和前几个月。在点击按钮时,我希望日历在不重新加载整个页面的情况下进行更改。

在我的按钮,滚动经过几个月是这样的:

<%= link_to_remote "<",:update=>'calendar',:url=>{:action=>'ajax_calendar',:month => (@date.beginning_of_month-1).strftime("%Y-%m")} %> 

这是我所作出的部分我的主要页面。

index.html.erb 
    <div id="calendar"> 
     <%= render :partial=>'calendar' %> 
    </div> 

当我试图用萤火虫来调试是越来越正确执行Ajax调用我也是从服务器获取,但ID为“压延”正确答案是没有得到更新。

有人能指出我做错了什么吗?

在此先感谢。

编辑:添加控制器

def ajax_calendar 
    @events = Event.all 
    @date = params[:month] ? Date.parse(params[:month].gsub('-', '/')) : Date.today 
    render :partial => 'calender' 
end 

回答

0

我得到这个错误,因为同时使用原型和jQuery。去除jQuery解决了这个问题。

0

我认为轨要更新之前的URL参数。试试像这样的命令:

<%= link_to_remote "<", :url=>{:action=>'ajax_calendar',:month => (@date.beginning_of_month-1).strftime("%Y-%m")}, :update=>'calendar' %> 

但是,这可能不是它。你的link_to_remote看起来不错,它可能是控制器中的东西。你能告诉我们你的控制器代码的行动?

+0

更新了包含控制器的问题。 – 2010-11-13 14:34:33