错误:未定义的方法`每个'为nil:NilClass

时间:2016-03-12 16:07:04

标签: ruby-on-rails null categories

我实际上正在使用由“limes”组成的rails App。石灰就像一个帖子。我试图列出与石灰相同的索引中的所有类别。但问题是我得到了这个错误   “未定义的方法`每个'为nil:NilClass”

**here is the top of my Category Controller**

class CategoriesController < ApplicationController
before_action :set_category, only: [:show, :edit, :update, :destroy]

# GET /categories
# GET /categories.json
def index
  @categories = Category.all
end

# GET /categories/1
# GET /categories/1.json
def show
end

# GET /categories/new
def new
  @category = Category.new
end

# GET /categories/1/edit
def edit
end

这是我的索引

<div class="row">
<div class="col-md-3 col-lg-3">
  <h2>Categories</h2>
  <%= link_to 'Nouvelle Categorie', new_category_path %>
  <ul class="tag-black">
     <% @categories.each do |category| %>
      <li><%= link_to category, category %></li>
    <% end %>
  </ul>
</div>

当我用“标签”做同样的事情时,它正在工作,但不适用于类别,我不明白为什么......

1 个答案:

答案 0 :(得分:0)

当您为nil类看到每个未定义的方法时,表示您的对象为零。在这种情况下......类别为零。试着解决为什么会这样。你的link_to也需要另一个参数,但这不是nil类错误的未定义方法的原因。

无关,但这条线不起作用:

<li><%= link_to category, category %></li>

并且需要像:

<li><%= link_to category.title, category_path(category) %></li>

第一个参数是你希望用户看到的超链接...第二个是你想要它们去的地方。