初めのアルファベットに該当するレコードのみ表示するメソッドの定義の仕方
models
def self.by_letter(letter) where("lastname LIKE ?", "#{letter}%").order(:lastname) end
controller
def index if params[:letter] @contacts = Contact.by_letter(params[:letter]) else @contacts = Contact.order('lastname, firstname') end end
view
<% ('A'..'Z').each do |letter| %> <%= link_to letter, contacts_path(letter: letter) %> <% end %> <%= link_to 'All', contacts_path %>
bootstrapも適用すれば、こんな感じのviewを出力してくれる。