显示第4行引发的/home/ns/school/app/views/student/_student_category_list.erb
:
未定义的方法`每个'为零:NilClass
<ul id="category-list">
<% @student_categories.each do |c| %>
<li class="list<%=cycle('odd', 'even')%>">
<div class="category-name"><%= c.name %></div>
<div class="category-edit"><%= link_to "#{t('edit_text')}", :url => { :action => 'category_edit', :id => c.id } %>
</div>
<div class="category-delete"><%= link_to "#{t('delete_text')}", :url => { :action => 'category_delete', :id => c.id } , :confirm =>"#{t('delete_confirm_msg')}"%>
</div>
</li>
<% end %>
</ul>
答案 0 :(得分:1)
基本上,每个人都需要查看您的控制器代码,因为他们希望确保实例变量@student_categories包含数据的哈希值。
但是,我们都可以推断@student_categories是:
解决方案:
由于您列出了所有类别,我将假设您的索引操作中找到了@student_categories变量,位于 student_categories_controller.rb 中。这将是student_category_list行动。
适当调整。
class StudentCategoriesController < ApplicationController
def student_categories_list
# Some Action
end
end
您的控制器中应该有一个索引操作,如下所示:
def index
@student_categories = StudentCategory.all # Not good for production
end
或许,它看起来像这样:
def index
@student_category = StudentCategory.all # Not good for production
end
也许它看起来像这样:
def index
@student_categories = Student.all # Not good for production
end
使用您的模型,视图和控制器代码,我们可以为您提供精确的解决方案,但99%的情况下,这是多元化的问题。 Rails有一些命名conventions you should look at.
另外,请小心在生产中使用Model.all,因为模型中可能有数万条记录。
答案 1 :(得分:0)
这意味着@student_categories未初始化或具有零值。请查看控制器以确保初始化已完成。