nil:NilClass 的未定义方法“each”..为什么?
undefined method `each' for nil:NilClass..why?
我一直在开发新的应用程序,就像 IMDB,我添加了类别模型,它与协会一起工作得很好,但我在类别控制器中按类别显示电影时遇到问题:
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>
所以我得到一个错误未定义的方法“每个”nil:NilClass
任何想法
在您的部分中,您使用 @movies
但在控制器中,您将其称为 @category_movies
- 您将需要使用相同的变量名称,或使用局部变量。
例如局部变量:
<%= render 'movies/movies', :movies => @category_movies %>
# and in the partial
<% movies.each do |movie|%>
注意:未针对错误和拼写错误进行测试...
控制器和视图中的实例变量 @category_movies
必须相同 :)
@movies
未声明,因此为零!
我一直在开发新的应用程序,就像 IMDB,我添加了类别模型,它与协会一起工作得很好,但我在类别控制器中按类别显示电影时遇到问题:
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>
所以我得到一个错误未定义的方法“每个”nil:NilClass 任何想法
在您的部分中,您使用 @movies
但在控制器中,您将其称为 @category_movies
- 您将需要使用相同的变量名称,或使用局部变量。
例如局部变量:
<%= render 'movies/movies', :movies => @category_movies %>
# and in the partial
<% movies.each do |movie|%>
注意:未针对错误和拼写错误进行测试...
控制器和视图中的实例变量 @category_movies
必须相同 :)
@movies
未声明,因此为零!