我如何在这里实现分页(仅适用于下一页)

时间:2013-06-16 05:01:02

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

在这种情况下我将如何实现分页..我正在使用已经计算下一页的宝石。 @client.videos_by(:tags=>{:include=>[:cover,:acoustic]},:page=>2)(页面是来自接受页码的gem的方法)此查询仅返回第二页中的视频数组,如果我用3替换它将仅返回第三页。我如何实现下一页页?这是我尝试过的,但当我点击下一步时,它每次都会一直返回第一页。

控制器

   class StarsController < ApplicationController
     @@current||=1
      def index
       @videos=@client.videos_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" %>

1 个答案:

答案 0 :(得分: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 %>