見出し画像

PicTweet 表示順を並び替え

「新しいツイートが一番上に表示する」ために順番を変更する実装。
確かに、これまでのは一番したに新しいのが表示されていたね。

ツイートの最新順表示

orderオーダーメソッド

モデルが使用できる、ActiveRecordメソッド
orderメソッドは、テーブルから取得してきた複数のレコード情報を持つインスタンスの、並び順を変更するメソッド

【並び順】
ASC(昇順)
小さいものから大きいものになる。古いものから新しいのものになる

DESC(降順)
ASCの反対

app/controllers/tweets_controller.rb ファイルへ
class TweetsController < ApplicationController
before_action :set_tweet, only: [:edit, :show]
before_action :move_to_index, except: [:index, :show]

def index
@tweets = Tweet.includes(:user).order("created_at DESC") ←ここ
end

def new
@tweet = Tweet.new
end

省略

【解説】
@tweets = Tweet.includes(:user).order("created_at DESC")
インスタンス=モデル名.order("並び替えの基準となるカラム名 並び順")
                        列タイトル

includesってなんだったけ・・・?
忘れてしまったのでAIに聞いてみた!

ncludesメソッド
「N+1問題」を防ぐために使用されるメソッドの一つで、関連付けられたテーブルからのデータの取得を効率化してくれる。

確認用URL
http://localhost:3000

やった!できた!


この記事が気に入ったらサポートをしてみませんか?