我正在尝试使用table_builder将日历添加到我的 rails 应用程序。我的实现基于他们的自述文件和强烈推荐的教程。
在初始加载时,日历运行良好。每个作业都显示在正确的日期。但是,当通过单击月份名称周围的“>”或“<”来更改月份时,虽然标题中的月份名称发生了变化,但日历本身并没有改变。这是我认为呈现日历的代码块:
<div id="calendar">
<h2 id="month">
<%= link_to "<", :month => (@date.beginning_of_month-1).strftime("%Y-%m-01") %>
<%= h @date.strftime("%B %Y") %>
<%= link_to ">", :month => (@date.end_of_month+1).strftime("%Y-%m-01") %>
</h2>
<%= calendar_for(@assignments) do |calendar| %>
<%= calendar.head('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday') %>
<% calendar.day(:day_method => :due_date) do |day, assignments| %>
<%= day.day %>
<ul>
<% for assignment in assignments %>
<li>
<%= assignment.course.name %>: <%= link_to assignment.name, assignment_type_assignment_path(assignment.assignment_type, assignment)%>
</li>
<% end %>
</ul>
<% end %>
<% end %>
</div>
@assignments 返回与给定用户关联的所有分配的完整列表。每个作业都作为属性到期日期,这是我们希望作业出现在日历中的日期。
这是控制器代码:
class HomeController < ApplicationController
def index
@user = @current_user
@assignments = @user.assignments
@date = params[:month] ? Date.parse(params[:month]) : Date.today
end
end
谢谢