rails6初心者です。
日付フォーマット部分を実装してるところです。
前提・実現したいこと
毎回「strftime」を使うのはDRYに反するので、lメソッドで行うようにしました。
ここを参考にしました。
日付を、default時は
2021年01月24日(日) 09時16分07秒
のように表示したいのですが
2021年01月24日(日) 09時16分07秒 +0900
のように、末尾に不要な「+0900」が付与されて出力されてしまいます。
該当のソース
application.rbとja.ymlに設定し、ビューで使いまわし出来るようにしました。
app\views\mypages\index.html.erb
ruby
1<%= l item.created_at %>
config\application.rb
ruby
1class Application < Rails::Application 2 config.time_zone = 'Asia/Tokyo' 3 config.active_record.default_timezone = :local 4 config.i18n.default_locale = :ja 5end
locales\ja.yml
rub
1ja: 2 date: 3 formats: 4 default: "%Y/%m/%d %H:%M:%S" 5 long: "%Y年%m月%d日(%a)" 6 short: "%m/%d %H:%M"
試したこと
サーバを再起動したり、
default: "%Y/%m/%d %H:%M:%S"
を
default: "%Y/%m/%d"
にしても同じでした。
追記
色々試したところ、
defautl: "ここのフォーマットは何でも良い"
の時だけおかしいです。
フォーマットを指定していない時(defautl)のみ、フォーマットが効いてないのが分かりました。
ruby
1<%= l item.created_at %> #効かない 2<%= l item.created_at, format: :long %> #効く
分かる方教えて下さい。宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー