Rails Tutorialで詰まったこと(第13章 ユーザーのマイクロポスト)

本記事の目的

  • 本格的なプログラム言語学習を独学するに辺り、自分が躓いた場所を逐一残していおくことで他の独学者の皆さんの役に立つことを狙って
  • 自身の忘備録として

第13章 ユーザーのマイクロポスト

本章ではTwitterのように短い文章を投稿する「マイクロポスト」機能を実装・テストしていきます。140字制限のある文字だけではなく、画像のアップロードやリサイズにも対応させていきました。また、本章ではじめてDBのテーブル間連携等を学んだため、今後のRails開発には大きく役立つ知識が着きました。

問題1. fixtureってなんだっけ?

  • 原因 : 忘れた
  • 対策 : 思い出すために公式ドキュメントを読み、そのドキュメントから用語を学習する

以下、Railsガイドからの引用。

フィクスチャ(fixture)とは、いわゆるサンプルデータを言い換えたものです。フィクスチャを使うことで、
事前に定義したデータをテスト実行直前にtestデータベースに導入することができます。

引用元:Railsガイド v7.0

【結論】
用語がわからなくなったらなるべく公式ドキュメントを読み、確認しましょう。どうしても見つからないor読んでも理解できない時はブログ等の二次情報でも良いが、玉石混交なので気をつけましょう。

問題2. 標準時設定がデフォルトだとUTC(協定標準時)でわかりにくい

DBにデータを投入することが増え、そのcreated_atとupdated_atを比較する演習が出てきたため、UTCだとわかりにくく感じJTCに設定変更してみました。

  • 原因 : config/application.rbに設定していないためデフォルトだった
  • 対策 : JTC(日本標準時)になるように設定を追加

[config/application.rb]

require_relative 'boot'
require 'rails/all'

Bundler.require(*Rails.groups)

module SampleApp
  class Application < Rails::Application
    config.load_defaults 6.0

    # この行を追加し日本標準時に設定
    config.time_zone = 'Tokyo' 
  end
end

【参考】
qiita.com

【結論】
割と簡単な設定で拍子抜けでした。参考のQiitaに記載のコード1行で全てのDBのデータまでも日本標準時に変更できたので驚きです。

問題3.herokuにデプロイした際にデプロイは通るが503エラーが発生しアプリが立ち上がらない

  • 原因 : 不明
  • 対策 : rails tutorialを1からやり直す…

【結論】
YasLabの安川さんから公式のGithubを共有頂きDiffをとったものの差分が多すぎて対応できず、結局一から環境を構築し直すことにしました。ひとまず1章の構築部分を行い、その後SampleAppを作成する3章から進め直してみることにします。
また13章まで戻ってこれたならこの続きを書こうと思います。
Aizack先生の次回作にご期待ください。