Paginate Rails在HTML中循环的对象实例?

时间:2014-11-27 03:19:06

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

在我的Rails应用程序中,我遍历适合某些标准的Product模型的所有实例,并将它们显示在用户的个人资料页面上。这就是循环的样子:

<% notsold = @user.products.where("sold_value = false").order("created_at DESC") %>
  <% notsold.each do |f| %>
    <% if f.sold_value === false %>
    // do stuff 
    <% end %>
  <% end %>

此视图是用户控制器下的profile.html.erb。我想弄清楚的是如何对创建的数组中的f或每个产品进行分页。我安装了will_paginate gem。以下是users_controller.rb中的配置文件操作:

def profile
    @user = User.find(params[:id])
    respond_to do |format|
      format.html
    end
  end

任何人都知道该怎么办?

1 个答案:

答案 0 :(得分:0)

你可以像这样在控制器中提供@products实例变量

@products = @user.products.where("sold_value = false").order("created_at DESC").paginate(:page => params[:page], :per_page => 30) 

然后您可以在代码中循环@products

<% @products.each do |f| %>
  <% if f.sold_value === false %>
    // do stuff 
  <% end %>
<% end %>