『Ruby on Rails チュートリアル』「第5章レイアウトを作成する」2

railstutorial.jp

序文

Railsチュートリアル11日目。

そろそろUnity1週間ゲームジャムですね。

Unity 1週間ゲームジャム | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

お題次第ですが、参加したいなぁという気持ちはあります。
Unityブロガーの方もぜひ…いやぁ、無責任か。
別にステークホルダーじゃないのでどうでもいいです。笑

進捗

  • 第5章レイアウトを作成する
    • 5.3 レイアウトのリンク
    • 5.4 ユーザー登録: 最初のステップ
    • 5.5 最後に

コード実装部分(一部)

/sample_app/test/integration/site_layout_test.rb

require 'test_helper'

# 統合テストを行う
class SiteLayoutTest < ActionDispatch::IntegrationTest
  test "layout links" do
    # ルートURLにGETでアクセスしたとき
    get root_path
    # static_pages/homeに対応するテンプレートが表示されているか
    assert_template 'static_pages/home'
    # <a href=(root_path)>...</a>のようなHTMLが2個存在するか
    assert_select "a[href=?]", root_path, count: 2
    # <a href=(help_path)>...</a>のようなHTMLが存在するか
    assert_select "a[href=?]", help_path
    assert_select "a[href=?]", about_path
    assert_select "a[href=?]", contact_path

    # contact_pathに対応するURLにGETでアクセスしたときに
    get contact_path
    # <title>タグの中身はfull_title("Contact")と同値か
    # full_titleはapplication_helper.rbで定義している
    assert_select "title", full_title("Contact")
    
    # signup_pathに対応するURLにGETでアクセスしたときに
    get signup_path
    assert_response :success
    # <title>タグの中身はfull_title("Sign up")と同値か
    assert_select "title", full_title("Sign up")
  end
end

GitHub

github.com

実行結果

f:id:yjkym:20181116153617p:plain

感想

名前付きルートの使用方法や、統合テストの書き方などの学習。

普通の学習だとテストの書き方なんかは後回しになりがちなので、ある程度Railsに触った経験がある身としては同時進行でやってくれるのはありがたい。
ただ初学者だと混乱必至だとも思う。

次章からはユーザーモデルの作成に入っていくようだが、実際のアプリではユーザーモデルの作成ってそれほど優先順位が高いとは思っていない。
それ以前にユーザーを集めるコンテンツ作成のほうが恐ろしくハードルが高いと思うから。

いわんやログイン機能をや。
(なんでみんなユーザー参加型のWebアプリばっかり作ろうとするのだろうか。そんなに自信があるんだろうか)

カロリーメイトください。

BGM

Better Days / LONGMAN
www.youtube.com