created_atのフォーマットを変更して記事の日付に使う
実現すること
記事投稿をした場合、投稿日を表示することがあると思います。
↑記事タイトルの隣の日付です
Articleモデルから新たな記事を作れば、自動的にcreated_atカラムが登録されるのでそこの情報から日付を表示させればできそう
しかしでcreated_atカラムはそのままの表示形式だと"yyyy-mm-dd hh:mm:ss"になっており、とても使いづらいです。
そこでデフォルトの表示形式を設定していろんな形式パターンを実現してみます。
方法
gem 'rails-i18n'
こちらのgemをインストール
デフォルトの多言語対応を日本語にし、ロケールファイルのpathを通します。
application.rb config.i18n.default_locale = :ja #日本語に対応させます config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s] #localesファイルが読み込まれるようになる
config/locales配下にja.ymlファイルを作成
config/locales/date/ja.yml ja: time: formats: default: ! '%Y/%m/%d' short: ! '%m月%d日' long: ! '%Y年%m月%d日'
あとはビューにフォーマットを指定して表示させるだけです!
デフォルト
<%= l @article.created_at %>
デフォルト
long形式 <%= l @article.created_at, format: :long %>
short形式 <%= l @article.created_at, format: :short %>
記述するときは<%%>内の「l」(小文字のエル)絶対忘れないでください!!