イヌケンの技術ブログ

私が学んだ技術について備忘録的に書いていきます。

Rails-Tutorial 1章の備忘録

これからRails-Tutorialを進めていくにあたって「ここ理解するのに少し時間がかかったな~」という部分を備忘録としてまとめていきたいと思います。

本記事では第1章についてです。

1.「Hello World!」の出力

MVCモデルは既に知っていたが、ブラウザ→controllerにリクエストを渡すときになぜ「routes.rb」が出てくるのか?だった。

 しっかりと読んでみるとRailsだとブラウザ→routes→controllerのように情報の伝達が行われている。

f:id:inukenta:20181224232135p:plain

 そのため、今のところの理解だとブラウザ=リクエストを投げる。routes=受け取ったリクエストをcontrollerの中のどの処理に渡すかを決める。controller=routesから指定された処理を行う。という感じ。

2.GithubとCloud9の連携

Rails TutorialではCloud9とBitbucketを連携してBitbucketにソースコードをアップするような説明があるけど、僕はGithubソースコードをいくつかあげていることもあり、GithubとCloud9を連携したかった。その際に参考にしたのが下記のサイト。わかりやすくてすんなり連携ができた。ただし、Cloud9の公開鍵発行方法については記載がないため注意が必要。

rails-study.net

3.リモートリポジトリへのアップロード方法

理解に一番時間がかかったところ。コマンド入力によってディレクトリ等の場所を遷移していく理由がよくわからなかった。そのため、以下のように移動の流れを図にまとめてみた。

f:id:inukenta:20190106004436j:plain

Githubコマンドの仕組み

・addコマンド

作業ディレクトリ(自分がプログラミングを行なっている場所)からステージングエリアにプログラムの変更内容を追加する。

ステージングエリアの用途は変更した内容だけをローカルリポジトリに追加するために一時的に変更内容を作業ディレクトリから追加していくためのタンクのようなもの。

・commitコマンド 

開発作業が進んで区切りの必要が出てきた際にステージングエリアに貯めていた変更内容をまとめてメッセージと一緒にローカルレポジトリに追加して変更履歴を残す。

commit -aコマンドを用いると作業ディレクトリから直接ローカルリポジトリに変更内容を追加することが可能。

・pushコマンド

ローカルリポジトリの内容を外部環境のGithub、BitBucketやHerokuに反映させるためのコマンド。