1

私は Neo4j データベースを使用しており、Author クラスには ActiveNode が含まれています。ページネーション付きのインデックスを探しています。Authors のコントローラーとインデックスは次のとおりです。

class AuthorsController < ApplicationController
  before_action :set_author, only: [:show, :edit, :update, :destroy]
  # GET /authors
  # GET /authors.json
  def index
    @page = params[:page] || 1
    @per_page = params[:per_page] || WillPaginate.per_page
    @query = Author.all.order("name")
    @authors = Neo4j::Paginated.create_from(@query, @page, @per_page)
  end
...
end

<div class="container-fluid">
  <h1>Listing authors</h1>

  <ul><%= will_paginate @authors, class: "pagination-sm" %></ul>
  <%= select_tag :per_page, options_for_select([10,20,40,80,100], @per_page.to_i), :onchange => "if(this.value){window.location='?per_page='+this.value;}" %>

  <table>
    <thead>
      <tr>
        <th>Name</th>
        <th colspan="3">Action</th>
      </tr>
    </thead>

    <tbody>
      <% @authors.each do |author| %>
        <tr>
          <td><%= author.name %></td>
          <td><%= link_to 'Show', author, class: 'btn btn-xs btn-primary' %></td>
          <td><%= link_to 'Edit', edit_author_path(author), class: 'btn btn-xs btn-primary' %></td>
          <td><%= link_to 'Destroy', author, method: :delete, data: { confirm: 'Are you sure?' }, class: 'btn btn-xs btn-danger' %></td>
        </tr>
      <% end %>
    </tbody>
  </table>

  <br>
  <div class="btn-toolbar">
    <%= link_to 'New Author', new_author_path, class: 'btn btn-xs btn-primary' %>
    <%= link_to 'Books', books_path, class: 'btn btn-xs btn-primary' %>
    <%= link_to 'Home', root_path, class: 'btn btn-xs home-btn' %>
  </div>
</div>

エラーは次のとおりです: undefined method `total_pages' for # これを修正する方法がわかりません。

4

1 に答える 1