2010-07-13 2 views
2

저는 리팩토링을 시도하고 엉망으로 만들었지 만 문제가있는 곳이 명확하지 않기 때문에 디버깅 할 위치 나 방법을 모릅니다.레일 오류에서 잘못된 수의 인수 (0은 1)를 디버깅하는 방법은 무엇입니까?

오류 및 코드를 파헤 치는 방법에 대한 몇 가지 제안이 도움이 될 것입니다 ... 감사합니다! 당신은 아마 당신이 날짜 시간으로 기대에 .to_s를 호출하지만, 사실의 무기 호입니다있어이 특별한 경우

http://gist.github.com/474290

답변

4

:이 경우

datetime = DateTime.now 
datetime.to_s(:default) 
# => "2010-07-13T14:35:07-04:00" 

datetime = nil 
datetime.to_s(:default) 
# => ArgumentError: wrong number of arguments (1 for 0) 

, 중 트랙 누락 된 날짜를 내리고 채우거나 날짜가있는 경우에만 렌더링합니다.

+0

gotcha, 나는 그랬다고 생각한다. 나는 단지 datetime을해야만한다. 그렇지 않습니까? 그런 일이 일어나지 않도록하기 위해서? 나는 내 코드에 그 코드가 있다고 생각했다 .... – Angela

+0

이것을 피하는 가장 쉬운 방법은 nil 일 때 잘못 행동하는 변수를 렌더링하기 전에 테스트하는 것이다. 예를 들면 : datetime && datetime.to_s (: default) – tadman

0

는 관련이 있지만,이 라인은 이상한 보이는 경우 나도 몰라 :

"12 :"그
<%= render :partial => "contact_event_list", 12: :locals => {:contact_event => contact_event, :event => event} %> 

중간에 전에 : 지역 주민, 장소 밖을 본다.

+0

예. 실제로 제거하지 않은 행 번호입니다. ..... – Angela

관련 문제