これまでに作った機能について簡単にまとめていく。
今回は、
ソート(並び替え)機能の作成
前提条件
一覧画面が作成されていること
使用モデル
Blogモデル
カラム | データ型 | |
---|---|---|
1 | title | string |
2 | content | text |
3 | likes_count | integer |
スコープの作成
更新日時順にソートする
app/models/blog.rb
class Blog < ApplicationRecord scope :latest, -> {order(updated_at: :desc)} end
リンクの作成
app/views/blogs/index.html.erb
<%= link_to '更新日時でソートする', blogs_path(sort_update: "true") %>
コントローラーの設定
sort_updateのパラメーターの有無による条件分岐
app/controllers/blogs_controller.rb
class BlogsController < ApplicationController def index if params[:sort_update] @blogs = Blog.latest else @blogs = Blog.all end end end
以上で作成完了