- 目標①: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
*個人勉強用サイト作成のため、
曜日を表示しないで妥協するか迷いましたが、諦めないで試行錯誤することが大切だと感じています。