Railsチュートリアル第5章

5.1 構造を追加する

5.1.1

レイアウトファイルを更新し, home.html.erbも編集をします. curlコマンドでRailsのロゴをダウンロードしました. 確認のためにFinderからロゴ画像を開いたところ, 邪魔な.DS_Storeファイルが生成されてしまいました.

$ git status

# 中略

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    ../../../.DS_Store
    ../../.DS_Store
    ../.DS_Store
    rails.png

調べてみると, いらないファイルのようですね. 一気に削除してしまいましょう. しかしこの削除作業は今後も行う可能性があるので, 削除コマンドのエイリアスを作成することにします. ~/.bashrcエイリアスを定義します.

# ~/.bashrc
alias delds='find ~/path/to/app/root/ -name .DS_Store | xargs rm -v'

変更を適用しましょう.

$ source ~/.bashrc

あとは定義したコマンドを実行すればファイルを削除できます. これらのファイルは今後発生する可能性があるわけですが, Gitにも追跡して欲しくありません. ということで.gitignoreにも書いておきましょう.

# .gitignore

.DS_Store

演習1, 2, 3

本文と同様なので省略しますが, 猫画像は消しておきましょう.

5.1.2

省略します.

5.1.3

こちらも書かれている通りにやるだけなので省略します.

5.2 Sassとアセットパイプライン

省略します.

5.3 レイアウトのリンク

5.3.1

このセクションの内容はすでに3章で終えていますね.

5.3.2

演習1, 2, 3

エディタのUNDO機能を使って変更を元に戻すと書かれていますが, Gitの機能を使うほうが楽な気がします. まずは演習以前の内容をコミットしておきます.

$ git commit -a

演習を終えたら, ワークツリーの変更をなかったことにします.

# アプリケーションルートで実行
$ git checkout .

5.3.3

省略します.

5.3.4

演習1

省略します.

演習2

application_helper_test.rbは以下のようになりました.

require 'test_helper'

class ApplicationHelperTest < ActionView::TestCase
    def setup
        @base_title = 'Ruby on Rails Tutorial Sample App'
    end
    test "full title helper" do
        assert_equal full_title ,@base_title
        assert_equal full_title("Help"), "Help | #{@base_title}"
    end
end

5.4 ユーザー登録: 最初のステップ

5.4.1

はじめ間違って以下のように実行してしまいました.

docker-compose exec -T web rails generate controller User new

どこが違うのかというと, Userが単数形になっています. これのせいでエラーが出て, 少し時間を無駄にしてしまいました.

5.4.2

演習1, 2

省略します.

演習3

テストコードは以下のようになりました.

# test/integration/site_layout_test.rb

get signup_path
    assert_select "title", full_title("Sign up")