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")