Ruby on rails 调用category.name时未定义的局部变量或方法

Ruby on rails 调用category.name时未定义的局部变量或方法,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我为我的图书模型创建了一个类别模型,并且已经与这两个模型关联 has_many :books 及 我还可以在my_form.html.haml中添加一个简单的表单下拉列表,并将图书条目与类别关联起来保存;每当我尝试在index.html.haml文件中显示所有类别时,都会得到一个动作控制器:捕获异常错误: “未定义的局部变量或#的'categroy'方法” 这是我正在使用的代码: - Category.all.each do |category| =link_to category.nam

我为我的图书模型创建了一个类别模型,并且已经与这两个模型关联

has_many :books

我还可以在my_form.html.haml中添加一个简单的表单下拉列表,并将图书条目与类别关联起来保存;每当我尝试在index.html.haml文件中显示所有类别时,都会得到一个动作控制器:捕获异常错误:

“未定义的局部变量或#的'categroy'方法”

这是我正在使用的代码:

- Category.all.each do |category|
  =link_to category.name, books_path(category: categroy.name)
编辑

我还在我的书_controller.rb中添加了一个索引过滤器

def index
    if params[:category].blank?
        @book = Book.all.order("created_at DESC")
    else
        @category_id = Category.find_by(name: params[:category]).id
        @book =Book.where(category_id: @category_id).order("created_at DESC")
    end
end 
如果没有指向代码的链接,则当我尝试在URL中手动键入索引过滤器时,该过滤器会工作:

http://localhost:3000/books?category=Elementary
看起来category模型可以工作,但我不确定为什么它不允许我调用category.name


我两周前刚开始使用rails,非常感谢社区的帮助。如果我需要提供更多信息,请告诉我。谢谢

您编写了
categroy
,但变量的名称是
category
:)

应该是
=链接到category.name,books\u路径(category:category.name)

错误说明了一切。
http://localhost:3000/books?category=Elementary