2016-09-15 56 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 %> 

和索引我所做的:

<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> 

,所以我得到了零的錯誤未定義的方法`每個」:NilClass 任何想法

+0

那麼,你的索引方法在哪裏?因爲'each'只能根據你的帖子在'index'頁面找到。 – araratan

+0

粘貼您的索引操作的代碼 –

回答

4

在你的部分,你使用@movies但在控制器,你調用它@category_movies - 你將需要使用相同的變量名稱,或使用本地變量。

例如與局部變量:

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

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

注:錯誤和錯別字沒有測試......

0

實例變量@category_movies必須在控制器和意見:) 相同@movies是沒有宣佈,所以它是零!

相關問題