未初始化的常量 BooksController::Books

uninitialized constant BooksController::Books

我正在创建示例应用程序并尝试使用 will_paginate gem。

App/Controllers/books_controller.rb

class BooksController < ApplicationController
    def index
    #@books = Book.all
    @books = Books.paginate :page => params[:page], :per_page => 10
    end
end

App/views/index.html.erb

<% for book in @books do %>
  <h2><%=h book.title %></h2>
  <p><%= book.thoughts %></p>
  <%= will_paginate @books %>
<% end %>

当我加载应用程序时,出现标题错误。我错过了什么吗?

模型 class 名称是单数。您使用了 Books.paginate,而它应该是 Book.paginate

由于您使用了错误的 class 名称,Ruby 抱怨 class 未定义。

@books = Book.all.paginate(page: params[:page], :per_page => 10)

您在 Books 而不是 Book.all

上调用了 paginate 方法

安装 gem 后我不得不重新启动服务器。 它现在工作