開発環境
Mac OS Catalina 10.15.7
ruby 2.6系
rails 6.0系
前提
記事投稿機能は実装済みです。(postモデル)
application.rbファイルを編集
config内のapplication.rbファイル内に以下の記述を追加します。
config.i18n.default_locale = :ja
config.time_zone = 'Tokyo'
application.rb
module Anipho
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 6.0
# Settings in config/environments/* take precedence over those specified here.
# Application configuration can go into files in config/initializers
# -- all .rb files in that directory are automatically loaded after loading
# the framework and any gems in your application.
# 以下2行を追加してください
config.i18n.default_locale = :ja
config.time_zone = 'Tokyo'
end
ja.ymlファイルを編集
config/localesディレクトリ内にja.ymlファイルを作り、その中に以下の記述を追加します。
ja.yml
ja:
time:
formats:
default: "%Y/%m/%d %H:%M"
自分の場合は既にコードがあったので、以下のような感じになります。
ja.yml
ja:
activerecord:
models:
post: 投稿
attributes:
post:
images: ペットの写真
title: 写真のタイトル
category_id: ペットの種類
time:
formats:
default: "%Y/%m/%d %H:%M"
ymlファイルはインデントが合わないだけで正常に作動しないので、繊細に作業する必要があります。
ビューファイルに投稿日時を表示する
最後にビューファイルに投稿日時を表示する記述をします。
記述する際にはlメソッド を使います。
show.html.erb
<div class ="time">投稿日時:<%= l @post.created_at %></div>
最終的に以下のようなビューになりました。
以上です。参考になれば幸いです。