2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

アドベンドカレンダーの下記企画に参加したので、開発過程で成功したことを、一部紹介する形で記事を書きたいと思います。

環境

Windows, WSL
Docker
Ruby 3.2.3
Rails 7.1.3
認証機能にdevseを使用

どんな状態?

<div class="text-sm">作成日:<%= l post.created_at, format: :short %></div>

もともとはこのようなコードを入力していました。
ローカルでは「作成日:10/23 15:02」というような表示でした

やりたかったこと

「作成日:2024/10/23 15:02」というように
年を入れたい!!プチチャレンジスタート!!

やったこと

config/locales/ja.ymlで以下追記

ja:
  time:
    formats:
      default: "%Y/%m/%d %H:%M"  # デフォルトのフォーマット

はじめ、これだけ追加して満足していました。
ですが、ローカルで確認したところ相変わらず変化なし

なぜ??

完全に見落としていたformat: :short
これは短縮形のフォーマットになるそうで
改めてconfig/locales/ja.ymlで以下追記

ja:
  time:
    formats:
      default: "%Y/%m/%d %H:%M"  # デフォルトのフォーマット
      short: "%m/%d %H:%M"        # 短縮フォーマット
      long: "%Y/%m/%d %H:%M"      # 長いフォーマット      

👆一応わかりやすいように全て追記。
やっとなぜダメだったのか理解した

そしてビューファイルの方も修正します

app/views/posts/_post.html.erb
<div class="text-sm">作成日:<%= l post.created_at, format: :long %></div>

で「作成日:2024/10/23 15:02」という表示に!!

さいごにまとめ

このコード何だろう。と思ったらすぐ調べるべし。
直ぐ違和感に気づけるようになりたいです。
今回の記事が何か参考になれば幸いです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?