2013-06-16 1 views
0

Как бы я мог реализовать разбиение на страницы в этом случае. Я использую драгоценный камень, который уже вычисляет следующие страницы. @client.videos_by(:tags=>{:include=>[:cover,:acoustic]},:page=>2) (страница - метод из драгоценного камня, который принимает номер страницы). Этот запрос возвращает массив видео только на второй странице, если я заменяю на 3, он будет возвращать только третью страницу. Как я могу реализовать следующую страницу? Это то, что я пытался, но когда я нажимаю дальше, он продолжает возвращать первую страницу каждый раз.Как я могу использовать разбиение на страницы здесь (только для следующих страниц)

Контроллер

class StarsController < ApplicationController 
    @@current||=1 
     def index 
     @[email protected]_by(:tags=>{:include=>[:cover,:acoustic]},:page=>@@current) 
     end 

     def next 
      @@current+=1 
      redirect_to :action=>'index' 
     end 
     end 

Посмотреть

 <%= link_to "next",:controller=>"stars",:action=>"next" %> 
+0

Какой драгоценный камень вы используете для пагинацией? –

+0

Я не использую ни одного драгоценного камня для разбивки на страницы, но я использую jtps://github.com/kylejginavan/youtube_it/blob/master/lib/youtube_it/blob/master/lib/youtube_it/response/video_search.rb gem, из которого можно использовать простую разбивку на страницы. – katie

ответ

1

переменная класса (@@current) является плохой идеей, потому что он является общим для всех пользователей. Вы можете просто использовать параметр с помощью метода index:

class StarsController < ApplicationController  
    def index 
    @page = params[:page] || 1 
    @videos = @client.videos_by(:tags=>{:include=>[:cover,:acoustic]},:page=> @page) 
    end 
end 

По мнению

<%= link_to "next", :action=>"index", :page => @page + 1 %> 
+0

Спасибо, Балдрик, я попробую это и дам вам знать. – katie

+0

это работало благодаря большому – katie