rails pagination用于自定义查询

时间:2011-07-27 20:56:25

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

我有以下自定义查询:

@initial_matches = Listing.find_by_sql(["SELECT * FROM listings WHERE industry = ? AND years <= ? AND degree_type <= ?", current_user.industry, current_user.years, @highest_degree])

是否可以对结果进行分页?

2 个答案:

答案 0 :(得分:3)

Listing.where(:industry => current_user.industry).where(["years <= ?", current_user.years]).where(["degree_type <= ?", @highest_degree]).paginate

更好地将此逻辑移至范围,使其看起来更漂亮,更短。

答案 1 :(得分:2)

Will_paginate可以使用基本数组。

在您的控制器中:

@stuffs = %w(1 2 3 4 5 6 7 8 9 10).paginate(:page => params[:page], :per_page => 4)

在您看来:

<% @stuffs.each do |stuff| %>
 <%= stuff %>
<% end  %>
<%= will_paginate @stuffs %>