Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

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

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

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

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

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

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

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

kontc
プログラミング初学者です。 気になったことや覚えておきたいものなどをアウトプットします。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away