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
やった!できた!