初めに
疑問に思ったことや上手くいかなかったことのアウトプットをしています。
自分なりの理解でアウトプットしていきます。初学者なので誤りもあると思います。
その際はご指摘いただけると幸いです。
lメソッドとは
日時をローカル、つまり日本で読みやすいフォーマットにするメソッド。
コンピュータそのままだと日時が読みづらいのを、config/application.rbに記述した場所を基準にする。
lメソッドの使用方法
1.まず'rails-i18n', '~> 7.0.0'をGemfileに記述し、インストールする。
2.config/application.rbに以下のコードを記述する。
# デフォルトの言語を日本語にします
config.i18n.default_locale = :ja
# デフォルトのタイムゾーンを日本時間にします
config.time_zone = 'Tokyo'
3.以上で準備完了。後はビューファイルにlメソッドを書けば簡単に見やすい日時表記になる。
例
<% @posts.each do |post| %>
<li>
投稿日時: <%= l post.created_at, format: :long %>
</li>
<% end %>
このコードは@postsの格投稿について、created_atの日時を長い形式で表示している。
この記事ではRails7以降なので、lメソッドのshortやlongが組み込みのデフォルト設定になっているので、ロケールファイルに記述しなくてもよい。