如何为#解决未定义的方法`to_key’?

我遇到了未定义方法`to_key’的问题

这是我的books_controller.rb

class BooksController < ApplicationController def index @books = Book.where(user_id: current_user.id) end end 

和我的索引页面如下。

index.html.erb

 
... ...

现在,当我要访问索引页面时,我得到了如下错误。

 undefined method `to_key' for # 

index通常返回一个集合。 事实上,你的控制器符合。 但是,您的视图会尝试为其定义表单 。 你发现,这不会成功。 表单适用于实体,不适用于集合。 错误在您的视图中以及您希望如何处理index

应该:

  class BooksController < ApplicationController def index @book = Book.find_by_id(2) end 

要么

  def index @book = Book.new end