ポートフォリオのアプリでカレンダータイプの予約機能を実装していたのですが
、その際に日時を表すために
<%= user.created_at.strftime("%Y / %m / %d %H : %M") %>
というように、strftimeを使って成形していました。
が、@jnchitoさんのqiitaでもっと便利な方法が紹介されていました。
https://qiita.com/jnchito/items/831654253fb8a958ec25
lメソッド
<%= l user.created_at %>
とするだけで、
config/locales/ja.yml に書かれているフォーマットを適用してくれるとのことです!便利!
逆にいうと、
lメソッドを使うためには
1. config.application.rb に
config.i18n.default_locale = :ja
と、
2. config/locales/ja.yml に
ja:
time:
formats:
default: "%Y / %m / %d %H: %M"
などと記述しておかないいけないみたいです。
上記のように設定しておくと、
<%= l user.created_at %>
で
2021/ 06/ 13 12:41
という感じで表示されます。
他のフォーマットも使えるように
ちなみに、config/locales/ja.yml に
ja:
time:
formats:
default: "%Y / %m / %d %H: %M"
short: "%m/ %d %H: %M"
などとしておけば、
<%= l user.created_at, format: :short %>
とすると
config/locales/ja.yml で設定した :shortの形式。
つまり、上記でいうと
2021/ 06 12:41
というように表示されます。
めっちゃ便利!
詳しくは @jnchitoさんのqiitaをご参考ください。