在我的 Rails 应用程序中,我想对名称使用分页。我正在从 postgresql 表中获取名称。
def index
@users = User.order("name").paginate(:page=>params[:page],:per_page=>50)
end
有没有一种按字母顺序分页的方法,页码为a,b,c.......z
感谢您的帮助, 拉姆亚。
最佳答案
我也在我的一个项目中这样做。我没有为此使用 gem 。使用 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 %>
然后在 Controller Action 中,您通过给定的 params[:char]
选择对象。例如:
@instance_var = ModelName.where("field LIKE ?", "#{params[:char]}%")
这是为我做的。您可以轻松地从中构建一个部分并将其用于许多不同的模型。
关于ruby-on-rails - 有没有办法让页码作为rails中的字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8573132/