【发布时间】:2010-07-02 06:31:19
【问题描述】:
您好,
我有一个应用程序,其中包含一个日历作为课程的替代索引视图(项目 has_many 课程)。我有两个箭头用于导航到下/上个月,它通过 AJAX 工作。现在,这是我更新日历的操作:
def update_calendar
@project = Project.find params[:id]
@date = Date.parse(params[:date]).beginning_of_month
@courses = @project.courses.all(:conditions => {:date => (@date - 1.month)..(@date + 1.month)})
respond_to do |format|
# format.html { redirect_to :action => 'index' }
format.js { render :partial => 'calendar', :locals => {:calendar_date => @date, :courses => @courses} }
end
end
重要的部分是format.js { ... }。我认为它应该只回答 js/AJAX 请求,但事实并非如此。例如,当我点击 URL http://localhost:3000/projects/1/update_calendar?date=2010-08-01 时,它会呈现部分内容。我不想要这种行为,我只希望它在通过 AJAX 进入时正确回答。我需要使用request.xhr? 吗?那么format.js { ... } 应该做什么呢?
最好的问候
托比亚斯
【问题讨论】:
标签: javascript ruby-on-rails ajax format