1
0

More than 3 years have passed since last update.

railsにてcreated_at の曜日も日本語で表示する方法( lメソッド)

Last updated at Posted at 2019-12-24
  • 目標①:railsにて、DBからcreated_at の日時を表示(取得)したい。
変数.html.erb 
<%= link_to(変数.created_at.strftime('%Y年/%m月/%d日(%a)%H:%M')," リンク先を記入") %>
  • まず試したコード
    (今回は、更にlink_toを使いたい)

    • 「 XXXX年 XX月XX日(mon) XX:XX 」とまで成功。
    • <%= 変数.created_at.strftime('%Y/%m/%d(%a)%H:%M') %> を実行し、曜日が英語標記のままのため苦戦。
    • #{%w(日 月 火 水 木 金 土… 系も試したが、上手くいかない。
    • config/initiallzers/time_formats.rb等も作成し定義を試したが、上手くいかない。

ーーーーーーーーーーーーーーーーーーーーー

<備忘録>
目標② (mon)ではなく、曜日も日本語で表示する簡単な方法

①gem 'i18n_generators' をbundleインストール

②en.ymlと同じ階層ディレクトリにconfig/locales/ja.yml を作成。以下のコマンド実行すると内容が書き換わり大変便利。

rails g i18n_locale ja

③ja.yml 内の

time:

      default: "%Y年%m月%d日(%a) %H時%M分" ←ここを取得したいように自分で変更する

④表示したいhtml.erb内へ lメソッドにて記入。

<%= link_to(l(テーブル名.created_at),"リンク先") %>

リンクではない場合、↓

<%= l テーブル名.created_at %> 

念のため、サーバーを立ち上げ直し、
曜日も (mon)→(月) 日本語になりました。

最終参考

Railsで日時をフォーマットするときはstrftimeよりも、lメソッドを使おう @Junichi Ito

*個人勉強用サイト作成のため、
曜日を表示しないで妥協するか迷いましたが、諦めないで試行錯誤することが大切だと感じています。

1
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
1
0