2012-12-10 4 views
1

Railscast 213에 유사한 코드를 사용하여 레코드가있는 달력을 표시합니다.Ruby on Rails가 잘못된 인수 수를 얻음 (0은 1)

할 일 라인 인수의 "점점 잘못된 번호 (0 일)의 원인이되는 :

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

wolabors_controller.rb이

있습니다

<%= 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이로 시작을

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

첫 줄은

으로 생각됩니다.
<% calendar_for @date do |date| %> 

railscast가 개정되어 새 버전에서 해당 table_builder 플러그인을 사용하지 않습니다.

first = date.beginning_of_month.beginning_of_week(START_DAY) 

이 같은 인수 오류를 제공합니다

http://railscasts.com/episodes/213-calendars-revised

+0

그게 저에게 : # <# : 0x007f84b001902> – Reddirt

+0

에 대한 정의되지 않은 메소드'calendar_for '가 있습니다. – Baconator507

+0

스크립트/플러그인 설치 git : //github.com/p8/table_builder.git – Baconator507

0

나는 문 것을,이 Railscast에 대한 토론에 발견했습니다. 이 방법

beginning_of_month 

beginning_of_week 

특정 레일 3.2이고, 당신이 낮은 버전에있는 경우, 업그레이드 해봐야 할 것 같습니다.

관련 문제