如何在控制器变量中使用数学

时间:2017-03-28 03:18:20

标签: ruby-on-rails ruby

我只需要能够使用math在我的控制器中设置查询的结束点。

class WelcomeController < ApplicationController   
  def index
    @video = Video.last
    @videos = Video.last(7).reverse!.drop(1)
  end

  def show
    @video = Video.find(params[:id])
    @videos = Video.where(:id => start..stop)
  end
end

这一行:@videos = Video.where(:id => start..stop)应该类似于@videos = Video.where(:id => params[:id]..params[:id]-7),因为该数组应该是@video之后的下七个数据库条目。

我也确定有更好的方法来完成我想要做的事情,但我不知道它是什么。

1 个答案:

答案 0 :(得分:0)

解决此问题的一种方法是使用名为 will_paginate 的宝石,它会自动执行您要解决的问题

示例

 @videos = Video.paginate(page: params[:page] || 1, per_page: 5)

你可以从params获取页面,因此你的网页必须要求这样的内容/videos?page=2

此类别中的其他宝石是Kaminari