我实际上正在使用由“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>
当我用“标签”做同样的事情时,它正在工作,但不适用于类别,我不明白为什么......
答案 0 :(得分:0)
当您为nil类看到每个未定义的方法时,表示您的对象为零。在这种情况下......类别为零。试着解决为什么会这样。你的link_to也需要另一个参数,但这不是nil类错误的未定义方法的原因。
无关,但这条线不起作用:
<li><%= link_to category, category %></li>
并且需要像:
<li><%= link_to category.title, category_path(category) %></li>
第一个参数是你希望用户看到的超链接...第二个是你想要它们去的地方。