0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Ruby】投稿したものを日付の新しい順に表示したい

Last updated at Posted at 2020-11-04

何かしらの投稿機能、例えばTwitterのような新しい投稿が先に表示される機能を実装していたところ、考え方が凝り固まっていた部分があったので備忘として記載します。

私がやりそうになったのは以下です。
ハッシュを含む配列に対し、受け取ったビューファイル側で降順ソートして表示しようとした

しかしよく考えると、これは保守性が高くないことに気付きました。
表示は表示という機能に集中することなど、各機能はそれぞれに特化すべきです。メソッドも同様です。
そのため、受け渡す際にソートした状態で受け渡す、これを行う必要がありました。

以下は例です。
Itemテーブルに存在するデータを@itemsに格納する際、「.order('created_at DESC')」というオプションを追加しました。

controller
  def index
    @items = Item.includes(:user).order('created_at DESC')
  end

こうすることで、ビューファイルの表示、という機能に手を加えることなく制御することができました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?