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

More than 3 years have passed since last update.

railsで投稿日時を日本時間にする方法

Posted at

開発環境

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>

最終的に以下のようなビューになりました。

スクリーンショット 2021-01-29 19.22.03.png

以上です。参考になれば幸いです。

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