1

Ok so I have decided to use Kaminari for pagination in a rails 3 project. I have followed the video from RailsCasts http://railscasts.com/episodes/254-pagination-with-kaminari

All goes well up until the point or running the server.

controllers/stories_controller.rb

def index
   @stories = Story.all
   @pages = Story.page(params[:page]).per(3)
   @stories = Story.search(params[:search]) 
end

views/stories/index.html.erb

<%= paginate @pages %>

When i start the server the index page in question displays all the stories from the DB and renders the pagination view showing (1 2 Next > Last »). What am I missing to get the pagination working?

4

2 に答える 2

4

私はまだあなたのコードを理解できません。1行目で@storiesにStory.allを代入し、3行目で変数を上書きするのはなぜですか?

とにかく、@stories でページネーション メソッド ( .per) を呼び出していないため、@stories は「DB からのすべてのストーリー」を表示します。per@page 変数でメソッドを呼び出してヘルパーに渡すため、ページネーション リンクにはページ分割されたカウントが表示されます。

つまり、ヘルパー.perに渡す前にリレーションを呼び出す必要があります。<%= paginate %>とても簡単です。

于 2011-06-07T22:21:51.403 に答える
3

検索から結果を得たいと思いますよね?試す

@stories = Story.search(params[:search]).page(params[:page]).per(3)

そして次のようなもの:

<% @stories.each do |story| %>
<%= render story %>
<% end %>
<%= paginate @stories %>

あなたの見解では

于 2011-06-07T16:44:01.730 に答える