こんにちは、おーしまです。
今回は、created_atを日本時刻に変更する方法について、書いていきます。
created_atとは、データベースにレコードが保存されるときに、その日付と時刻を保存するカラムのことです。
railsでは、テーブルを作成した際に、デフォルトでcreated_atカラムが作られます。
しかし、そこで保存される時刻は日本時刻ではないため、新たに設定を加える必要があります。
config/application.rb
require_relative 'boot' require 'rails/all' # Require the gems listed in Gemfile, including any gems # you've limited to :test, :development, or :production. Bundler.require(*Rails.groups) module Xyzcar class Application < Rails::Application # Initialize configuration defaults for originally generated Rails version. config.load_defaults 6.0 config.i18n.default_locale = :ja #--------------追加 config.time_zone = 'Tokyo' #---------------追加 # 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. end end
- config.i18n.default_locale = :ja
- config.time_zone = 'Tokyo'
の2つを追加します。
そして、
config/locales ディレクトリに新しく、ja.yml ファイルを作り、以下を記述します。
ja: time: formats: default: "%Y/%m/%d %H:%M:%S"
あとは、viewファイルで、
<%= l @car.created_at %>
l(エル)メソッドを使って記述します。
以上で、サーバーを再起動すれば、日本時刻で表示することができます。
さらに、時刻はいらないので、日付だけ表示させたいときは、
<%= @car.created_at.strftime('%Y/%m/%d') %>
で、「2020/12/10」のように、日付だけ表示させることができます。
今回はここまでです。
それでは、また。