2011-09-21 5 views
0

다음 코드에서 오류가 발생하지만 로거 행 또는 디버그가 올바른 출력입니다. 저를 위해서 조금 이상합니다. (3.1.0 및 3.0.9 레일 루비 1.8.7)오류 : 잘못된 인수 수 (1은 0) => 디버그 또는 .to_yaml을 사용하지 않은 경우

컨트롤러 포함

:

def index 
    @privatmessages = Privatmessage.all 

    respond_to do |format| 
    format.html # index.html.erb 
    format.xml { render :xml => @privatmessages } 
    end 
end 

index.htm.erb

<% @privatmessages.each do |privatmessage| %> 
    <%= privatmessage.id %> 
<% end %> 

그 코드는 오류를 생성

Privatmessages의 ArgumentError # index ../app/views/privatmessages/index.html.erb를 표시합니다. 여기서 2 행은 발생했습니다 : 잘못된 번호 ar guments (0 1)

하지만 컨트롤러에 다음 라인을 추가하는 경우, 출력은 정확하고 오류없이 :

logger.info "Messages: {#@privatmessages.to_yaml}" 

또는 I 인덱스에서 각 루프의 내부에 넣어도. html.erb 줄 :

<%= debug privatmessage %> 

누구에게 조언하나요?

답변

2

발견 된 문제!

문제는 "send"를 테이블에서 열 이름으로 사용했지만 "send"는 Rails 코어의 예약 된 방법입니다. 테이블의 열 이름을 "sendout"으로 변경 한 후 작동합니다.

+0

프로세스 또한 예약어입니다. – killebytes

관련 문제