0

Railscasts から改訂された高度な検索フォームに従っています。検索結果をページネーションしたいのですが、ページネーションのコードをどこに置くかわかりません。

私はモデルを持っています:

Mineralisearch.rb

    class Mineralisearch < ActiveRecord::Base
        attr_accessible :keywords,:keywords1
        def segnalazione_mineralis
        @segnalazione_mineralis ||= find_segnalazione_mineralis
     end
    private
    def find_segnalazione_mineralis
    segnalazione_mineralis = SegnalazioneMinerali.order(:titolo)
    segnalazione_mineralis = segnalazione_mineralis.where("titolo like ?", "%#
                                                  {keywords}%") if keywords.present?

    segnalazione_mineralis  
    end
    end

私はコントローラーmineralisearches_controller.rbを持っています

  class MineralisearchesController < ApplicationController
     def new
     @mineralisearch = Mineralisearch.new
     end

     def create
     @mineralisearch = Mineralisearch.create!(params[:mineralisearch])
     redirect_to @mineralisearch
     end

     def show
     @mineralisearch = Mineralisearch.find(params[:id])

     end
     end

とビュー

show.html.erb

 <h1>Risultati della ricerca</h1>
 <table class="table1">
 <tr>
 <th>Titolo:</th><br>
 <th>Creato il:</th>
 <th>Ultima Modifica il:</th>
 <th></th>
 </tr>
<%= render @mineralisearch.segnalazione_mineralis %>
</table>

この部分的な _segnalazione_minerali.html.erb で

<tr>
<td><%= segnalazione_minerali.titolo %>&nbsp;&nbsp;&nbsp;&nbsp;</td>

<td><%= l(segnalazione_minerali.created_at, format:"%e %B %Y %k:%M:%S") %></td>
<td><%= l(segnalazione_minerali.updated_at, format:"%e %B %Y %k:%M:%S")%></td>
<td><%= link_to 'Mostra', [segnalazione_minerali.user, segnalazione_minerali]%></td>
</tr>

私はいくつかのコードを入れなければならないことを知っています

 @mineralisearch = Mineralisearch.order("Titolo").page(params[:page]).per_page(10) 

コントローラーで

<%= will_paginate @mineralisearch, :previous_label => 'Prec', :next_label => 'Succ' %>

しかし、私は本当にどこにあるのかわかりません!これらをショービューとコントローラーに配置しようとしましたが、機能しません!

助けてくれてありがとう

4

1 に答える 1

0

will_paginateによると

このコード

@mineralisearch = Mineralisearch.order("Titolo").page(params[:page]).per_page(10) 

このようにする必要があります

@mineralisearch = Mineralisearch.order("Titolo").paginate(:page => params[:page],:per_page => 10)

そして、あなたはこれを持つことができます

<%= will_paginate @mineralisearch, :previous_label => 'Prec', :next_label => 'Succ' %>

あなたのshow view

しかし、それはあなたが望むものをnot a normal thing持っpaginationていることです。ページネーションをshow view持っていることがはるかに好ましいです。index viewindex actionindex.html.erb

于 2014-07-15T05:45:01.897 に答える