2016-09-30 48 views
0

我正在創建一個示例應用程序並嘗試使用will_paginate gem。未初始化的常量BooksController :: Books

應用/控制器/ books_controller.rb

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

應用程序/視圖/ index.html.erb

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

當我加載應用程序,我得到錯誤的標題。我錯過了什麼?

回答

0

我後,我安裝的寶石重新啓動服務器稱爲paginate方法。 現在正在工作

0

模型類名稱是單數。你使用Books.paginate,而它應該是Book.paginate

由於您使用的是錯誤的類名,Ruby抱怨是因爲該類未定義。

+0

謝謝。我早些時候嘗試過,但後來我得到錯誤未定義的方法'paginate'爲# User7354632781

+0

這意味着該方法沒有在Book模型上定義。很可能你沒有正確包含'will_paginate' gem作爲依賴項。 –

+0

我在environment.rb中添加了gem'will_paginate',並嘗試運行$ sudo rake gems:install並且它說'不知道如何構建任務耙子' – User7354632781

0

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

你的Books代替Book.all

相關問題