2012-12-10 81 views
1

我正在使用與Railscast 213類似的代碼來顯示帶記錄的日曆。Ruby on Rails獲取錯誤的參數數量(1代表0)

DO線是造成「得到錯誤的參數數目(1 0):

<%= calendar @date do |date| %> 
    <%= date.day %> 
    <% if @wolabors_by_date[date] %> 
     <ul> 
     <% @wolabors_by_date[date].each do |wolabor| %> 
      <li><%= link_to wolabor.name, wolabor %></li> 
     <% end %> 
     </ul> 
    <% end %> 
<% end %> 

的calendar_helper.rb開始時用:

module CalendarHelper 
    def calendar(date = Date.today, &block) 
     Calendar.new(self, date, block).table 
    end 

wolabors_controller.rb有

class WolaborsController <  ApplicationController 
def index 
    @wolabors = Wolabor.all 
    @wolabors_by_date = @wolabors.group_by(&:date) 
    @date = params[:date] ? Date.parse(params[:date]) : Date.today 
end` 
+0

什麼行給你錯誤? – Baconator507

+0

<%= calendar @date do | date | %> – Reddirt

+0

好吧,那麼我認爲正確的方法是calendar_for – Baconator507

回答

0

我在這個Railscast的討論中發現,這種說法:

first = date.beginning_of_month.beginning_of_week(START_DAY) 

給出了相同的參數錯誤。這似乎方法

beginning_of_month 

beginning_of_week 

是Rails的3.2具體的,如果你是在較低的版本,應該升級。

相關問題