rails tutorial 第3章


はじめに

独学でrails tutorialを進めていく過程を投稿していきます。

進めていく上でわからなかった単語、詰まったエラーなどに触れています。

個人の学習のアウトプットなので間違いなどあればご指摘ください。

初めての投稿なので読みにくいところも多々あるかと思いますがご容赦ください。

第3章 ほぼ静的なページの作成

3.2.1 静的なページの生成

git push -u origin static-pages
Q..上のuフラグの意味は?

A..以下の記事が参考になりました。
https://www.it-swarm.dev/ja/git/git-push-u-origin-master%E3%81%A7u%E3%83%95%E3%83%A9%E3%82%B0%E3%81%AF%E4%BD%95%E3%82%92%E6%84%8F%E5%91%B3%E3%81%97%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F/1041998972/

つまりはgit push やgit pullをする際のリモートブランチをuフラグで設定、以降のpull や push で引数を設定しなくて済むようにしているのだと思います。

3.3.1 最初のテスト

問題発生!!
rails tutorialでは

#リスト3.15
$ rails db:migrate     # システムによっては必要
$ rails test
2 tests, 2 assertions, 0 failures, 0 errors, 0 skips

テストスイートは期待どおり成功する。
とありましたが実際には

Error:
StaticPagesControllerTest#test_should_get_help:
ActionView::Template::Error: Permission denied @ rb_file_s_rename - (C:/environment/sample_app/tmp/cache/assets/sprockets/v4.0.0/XH/XHkgOJfID2QJgLszY19fBcF6t69Q2FkOAdTCNfBmzRI.cache.85331700.26812.864170, C:/environment/sample_app/tmp/cache/assets/sprockets/v4.0.0/XH/XHkgOJfID2QJgLszY19fBcF6t69Q2FkOAdTCNfBmzRI.cache)
    app/views/layouts/application.html.erb:8
    test/controllers/static_pages_controller_test.rb:10:in `block in <class:StaticPagesControllerTest>'

とtest_should_get_helpにおいてエラーが発生しました
これを解決するため以下の記事を参考にしました
https://qiita.com/yasumichi/items/ccf1f7f57b6627034226

記事にあるよう

> rails tmp:cache:clear
> rails assets:precompile

のコマンドを実行したら解決しました。

3.4 少しだけ動的なページ

問題発生!!
rails tutorialでは学習のため、一時的に以下のようにファイル名を変更してくださいとの指示があります。

$ mv app/views/layouts/application.html.erb layout_file

ですがコマンドプロンプトで上のコマンドを実行すると

'mv' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

と表示されました。
原因を調べたところWindowsのコマンドプロンプトではmvコマンドがサポートされていないよう、、、

続けて調べてみると、どうやらコマンドプロンプトではmvコマンドの代わりにmoveコマンドで同じ処理を実行してくれるようでしたので

早速実行してみたところ

C:\environment\sample_app>move app/views/layouts/application.html.erb layout_file
指定されたパスが見つかりません。

パスが見つからない、、、
それならばとlayoutsディレクトリに移動してからmoveコマンドを実行してみましたところ

C:\environment\sample_app\app\views\layouts>move application.html.erb layout_file
        1 個のファイルを移動しました。

ようやく解決出来ました。
(application.html.erbファイルの名前を変えたかっただけのようなのでエディタでカーソルを合わせて右クリックしてrenameでも大丈夫そうですね)

終わりに

今回の章では思わぬところでエラーに遭遇し、びっくりしました。
慌てずしっかりと解決できたことが少し自信になりました。
しかし、これからもwindows特有のエラーと戦っていくことになるとはこの時は思いもよらず、、、