2013-04-18 2 views
0

에서 "_user.html.erb"에서 정의되지 않은 메서드에 오류가 그것을 정의해야합니까? 나는 이미 내가 여러 헬퍼에 있지만 방법은 정의 아무 소용이레일 3

답변

1

"render @users"할 때 각 사용자는 로컬 변수 "user"로 partial에 액세스 할 수 있습니다. 부분은 다음과 같아야합니다.

<%= user.impressionist_count+user.microposts.sum(&:impressionist_count) %> 
0

에 그것을 시도

def impressionist_count 
    impressions.size 
    end 

user.rb이 내부를 가지고 있지만 @user 개체가 없습니다. 컨트롤러 내에서 뷰 내에서 작동하도록 컨트롤러에 할당되어 있어야하며, 렌더링 할 때 부분에 개체가 제공되어야합니다.

은 어쩌면 당신은 같은 것을 가지고 : 당신이 user 변수가있는 경우

<%= render(:partial => 'user') %> 

을 당신이해야 할 것은 이것이다 다음 말씨 "for nil"를 포함

<%= render(:partial => 'user', :object => user) %> 

오류를 정의되지 않은의 표시이다 값이 잘못 사용되고 있습니다.

+0

이것은 사용자 \ index.html.erb ('<% = render @users %>')에있는 것입니다. 사용자 컨트롤러의 인덱스 함수 내에서'@user = User.find (params [: id])'를 넣으려고했으나 ID없이 사용자를 찾을 수 없습니다. – nextstep

+0

'@users '로 정의 되었습니까? 'index'가': id' 매개 변수를 얻지 않는다는 것을 잊지 마십시오. – tadman

+0

이것은 인덱스 안에있는 @users입니다.'@users = User.paginate (page : params [: page]). all' – nextstep