👏
ソート機能的なやつ
内容
PF作成の時にメンターさんに教えて頂いたことをいつもで引き出せるように書いておこうと思います。
表示のON/OFF切り替えたい時に使えます。
index.html.erb
:
<span><%= link_to "勉強中", sort_path(sort_type: 'now')%></span>
<span><%= link_to "スタンバイ", sort_path(sort_type: 'stay')%></span>
<span><%= link_to "完了済み", sort_path(sort_type: 'finish')%></span>
:
:
<% @studies.each do |study| %>
:
:
<% end %>
"sort"へのリンクを用意します
routes.rb
:
get "sort", to: "studies#sort"
:
"sort"へのルーティングを設定します
studies_controller.rb
:
def sort
sort_type = params[:sort_type]
user_studies = current_user.studies
statuses = Study.statuses
case sort_type
when 'now'
@studies = user_studies.where(status: statuses[:勉強中])
when 'stay'
@studies = user_studies.where(status: statuses[:スタンバイ])
when 'finish'
@studies = user_studies.where(status: statuses[:完了済み])
end
render "index"
end
:
リンクから受け取った"sort_type"に応じて、@studiesの中身をwhereメソッドで絞り込んでます
まとめ
ja.ymlファイルへの日本語定義をまだしてないため、statusカラムを日本語で書いてます。
これもゆくゆくはやりたいことなので、また記事にまとめたいと思います。
Discussion