投稿の新しい順に並べる

現在は投稿された順に、新しいものが下に来るように並んでいます。これを本家Twitterのように、新しいものが上に来る順序に並び替えてみましょう。

これだけで新しいものが上に来るようになります。並び順がわかりやすいように投稿時間を表示し、投稿時間を詳細ページへのリンクにします。さらにEditリンクを削除して一度公開した投稿は後から編集はできないように変更しました。

画面表示を確認してみます。

list

なお、ここで使ったorderメソッドはActiveRecordの提供するものです。Rails consoleを起動し、to_sqlメソッドを使ってどんなSQLが生成されるのか確認することが出来ます。

このように、RailsのORM(Object Relational Mapper)であるActiveRecordは、SQLを直接書く代わりに可読性の高いメソッドを使って記述することが出来ます。より詳しい解説は Railsガイド にあります。

ActiveRecordに頼りすぎてSQLを忘れてしまったり、普通に書くとすぐ出来るのにActiveRecordで実現する書き方を調べて時間を浪費してしまうと本末転倒ですが、用法用量を守って使う分にはとても便利です。

次のページではCSSと画像で少し見た目を整えます。