我目前正在做一个词典,词汇表http://beta.emangaka.com/definitions
我按字母顺序对定义进行排序。
definitions_controller.rb:
def index
@definitions = Definition.all.order('title ASC')
@titre = "Définitions"
end
index.html.erb
<% @definitions.each do |definition| %>
...
列表太长了,我总是根据&#34; title&#34;的第一个字母逐个查找。
怎么办?留言Merci。谢谢。
答案 0 :(得分:3)
您可以使用下面的group_by
@definitions = Definition.all.order('title ASC').group_by{|d| d.title[0]}
在视图中
<% @definitions.each do |letter, definition| %>
<h2><%= letter %></h2>
<% definition.each do |defn| %>
<%= defn %>
<% end %>
<% end %>