有没有办法将页码作为字母表在rails中

时间:2011-12-20 09:19:36

标签: ruby-on-rails pagination will-paginate

在我的rails应用程序中,我想对名称使用分页。我从postgresql表中获取名称。

def index
  @users = User.order("name").paginate(:page=>params[:page],:per_page=>50)
end

是否有一种字母分页方式,页码为a,b,c .......... z

感谢您的帮助, 拉姆亚。

1 个答案:

答案 0 :(得分:3)

我也是在我的一个项目中这样做的。我没有使用宝石。使用Ranges非常容易......例如:

<% ('A'..'Z').each do |char| %>
     <% if char==params[:char] %>
          <%= link_to :action => 'your_action', :char => char, :class => 'selected_char' %>
     <% else %>
          <%= link_to :action => 'your_action', :char => char %>
     <% end %>
<% end %>

然后在控制器Action中,按给定的params[:char]选择对象。例如:

@instance_var = ModelName.where("field LIKE ?", "#{params[:char]}%")

这对我有用。您可以轻松地构建一个部分,并将其用于许多不同的模型。