Ruby on rails 修改SQL查询以与';将分页';红宝石色
我使用以下SQL查询从mySQL数据库中获取一些行:Ruby on rails 修改SQL查询以与';将分页';红宝石色,ruby-on-rails,ruby,ruby-on-rails-3,will-paginate,kaminari,Ruby On Rails,Ruby,Ruby On Rails 3,Will Paginate,Kaminari,我使用以下SQL查询从mySQL数据库中获取一些行: SELECT code_ver, result FROM mastertest WHERE date >= DATE_SUB( (CURDATE()) , INTERVAL 90 DAY) ORDER BY date DESC; 这个查询提供了过去90天的数据。现在我想在我的html.erb页面(视图)中一次显示10天的数据。我知道可以使用“will_paginate”和“kaminari”gems进行分页。但是我不知道如何在上面显示
SELECT code_ver, result FROM mastertest WHERE date >= DATE_SUB( (CURDATE()) , INTERVAL 90 DAY) ORDER BY date DESC;
这个查询提供了过去90天的数据。现在我想在我的html.erb页面(视图)中一次显示10天的数据。我知道可以使用“will_paginate”和“kaminari”gems进行分页。但是我不知道如何在上面显示的特定条件下查询数据库
有人能帮我处理一下这里的代码吗?这是在ActiveRecord中构造代码的方法:
Mastertest.where('date >= ?', Time.now - 90.days ).order('date DESC').select("code_ver, result")
从这里,您可以链接will_paginate或kaminari方法,或者根据需要滚动自己的方法。如果要经常使用该查询,可能需要将其滚动到类方法中:
class Mastertest
def self.last_90_days
where('date >= ?', Time.now - 90.days ).order('date DESC').select("code_ver, result")
end
## here's a simple pagination example:
def self.page(page,per_page)
limit(per_page).offset((page - 1) * per_page)
end
end
Mastertest.last_90_days.page(1,20) #=> [...]