2016-09-15 8 views
1
내가 새로운 응용 프로그램은 IMDB처럼 그리고 난 그것이 내가 카테고리 컨트롤러 카테고리로 영화 표시에 문제가있어지만 협회와 함께 잘 작동 카테고리 모델 추가 작업을했습니다

: 범주에정의되지 않은 메소드 'each'for nil : NilClass..why?

def show 
    @category = Category.find(params[:id]) 
    @category_movies = @category.movies 
end 

을 쇼 페이지 :

<h align = "center"><%= "Category: " + @category.name %></h1> 
<%= render 'movies/movies', obj:@category_movies %> 

인덱스에 내가했던 : NilClass 012 :

<div class= "row"> 
    <% @movies.each do |movie|%> 
     <div class="col-sm-6 col-md-3"> 
     <div class="thumbnail"> 
      <%= link_to (image_tag movie.image.url(:medium), class: 'image'), movie %> 
     </div> 
     </div> 
    <% end %> 
</div> 

는 그래서는 전무에 대한 오류 정의되지 않은 메서드 '각'을 가지고어떤 아이디어라도

+0

색인 방법은 어디에 있습니까? 왜냐하면'each'는 여러분의 글을 기반으로'index' 페이지에서만 발견되기 때문입니다. – araratan

+0

색인 작업 코드 붙여 넣기 –

답변

4

을 부분적으로 사용하면 컨트롤러에 @category_movies을 사용합니다. 컨트롤러에서 동일한 변수 이름을 사용하거나 로컬 변수를 사용해야합니다.

<%= render 'movies/movies', :movies => @category_movies %> 

# and in the partial 
<% movies.each do |movie|%> 

주의 : 로컬 변수

예하지 버그 오타 시험 ...

0

인스턴스 변수 @category_movies@movies 인 컨트롤러와 뷰 : 같아야 그것은 선언되지 않았기 때문에 그것은 무효입니다!