Ruby on Rails tutorialを通してのメモ (第1章後編)

前回まで

taokiengineer.hatenadiary.jp

 

  • こちらでは記事を投稿し始めた理由とRuby on Railsでデフォルトページを示させるまでのメモを残しています。

 

作業開始  

point

  • MVC(Model(モデル),View(ビュー),Controller(コントローラー))はRailsアプリケーションの仕組みのこと。まずは図を見て流れを掴む...難しいけど。

  • Railsのappディレクトリ内に「models」,「views」,「controllers」が配置されている。ぜひ、確認してみてください😁

  • ブラウザにボタンをクリックするなどのアクション(request) 👉 Railsのコントローラで処理 👉 view(HTMLファイル)で対応する画面をブラウザに返す or モデルを呼び出し、その後viewをブラウザに返す。  (tutolialの図1.14を参照)

 

@1.3.4 Hello, world!

 

point

  • 先ほどのRailsアプリケーション(hello_app)に「hello, world!」 という文字列を表示するように変更を加える。
  • リスト17に従い、コントローラを編集する。ここでは、文字列hello, world!を返すアクションを定義している。(render html: "hello, world!")
  • 次に、デフォルトページの代わりにhello, world!を表示できるようにルーター(router)を編集する。
  • ルーター(router) はブラウザ(view)からのリクエストをコントローラに振り分ける。(今回のapplication_controllerはルーティングからリクエストを受けhello,world!を表示させる処理をしている。)ここら辺から図を書いてイメージすることをオススメします。🙄
  • デフォルトページを差し替える際は、ルート(root)のルーティングを変更する必要がある。(今後アプリケーションを作成する際には一番最初のページ(rootパス)はrootであることを覚えておこう!)
  • リスト1.9に従い、ルーティングを編集する。
  • ルーティング(root 'application#hello)の root は ルートパス、application は コントローラ名、hello は helloアクション (application_controller.rbに記載されているdef helloのこと。)

 

■ リスト1.7ではコントローラにhello, worldを表示させる記述をしている。

app/controllers/application_controller.rb

def hello #helloアクション
render html: "hello, world!" #hello, world!を表示させる
end

因みに、

class ApplicationController < ActionController::Base
  protect_from_forgery with: :exception

 ↑の部分はあとで考えましょう😇

 

 

 ■ リスト1.9ではルーティングを設定している。

コントローラ(application_controller)に対応しているので見比べて見ましょう。

 

  root 'application#hello'

 

 

 

@ Github?Heroku? 👉 今回は飛ばしましょう!👊 

  • まず、解説できなくてごめんなさい。🙏
  • Githubソースコードバージョン管理ツール、つまり作成したアプリケーションファイルをGitと呼ばれるところに保存し、Githubで変更履歴を管理できるすごいやつです。ほとんどの企業が使っているでしょう!(subversion?知りません。)
  • つまり、個人や複数人で一つのアプリケーションを作成する際にどこ修正したっけ?どこまでをいつやったっけ?...とならないようにできます。
  • Herokuは作成したアプリケーションを公開できるようにしてくれるありがたいツールです。PaaSと呼ばれています。(個人的にはAWSよりは簡単に公開できます。)

仮にGithub、Heroku知っている場合は余分ですし、Ruby on Railsを学びたいのであればローカルでも作れるので、正直後からでもできます。(言い訳)

 

to be continued... 
  • RailsMVCという仕組みで構成されている。Railsに限らず、Webアプリケーションはこの仕組みで作られているのでRails以外でも役に立つ知識だと思います。
  • controller, router...難しい用語がいっぱいで最初はかなり大変でした。
  • 初心者の場合はエディタ(IDE)の使い方から調べる必要がありますね。私の場合はVSCodeです理由は、新しいので👍。プログラミングをするときはエディタを改造してモチベーションを高めるのもいいですね〜。
 
オススメの曲
 
Is it just our bodies?
 
このフレーズがかっこいいんですわ
 

 
 
 

 

 

Ruby on Rails tutorialを通してのメモ(第1章)

はじめに

■ 記事投稿者の人物スペック
  • Ruby on Railsを使用し、アプリケーションを3個ほど作ったことがある。(初心者ながらとりあえず完成させた。)作ったものはツイッターのようなwebアプリとそれの派生である。
  • コマンドラインについて初歩的な知識がある。
  • 累計勉強時間は500~くらい?(あんま自信ないです。)
■ What(何をやったか)
  • Ruby on Rails tutorial の完走を目指し、気付いたところ、気を付けるべきところにメモを残した。
  • 基本tutolialの通りに進めているので参照はRuby on rails tutorialを、あくまで記事には気になった点や割愛している部分があるので完全には参考になりません。(この記事通りに進めないで🙏)
 
■ Why(なぜやったか)
  •  Ruby on Railsを勉強しようとググるとかの有名な(?)誰もがよく見る Ruby on Rails tutorial に辿り着くはず。過去に自分もチャレンジしたことがあるますが、断念。。しかしある程度勉強した今ならできるはず。。改めて挑戦してみようと思います。
  • プログラミングよくわからない、or 始めてみたけどできない といった人に参考になれば幸いです。

 

■ 記事の読み方
  • @ → Ruby on Rails tutorialのセクション番号
  • →・のところはポイントや気を付けるべきところ

 

作業開始 

 
@1.2.2 Railsをインストールする(※いきなりですがこれより前は省略します。)
 
$ gem install rails -v 5.1.6

 point

  • rails -v5.1.6はそもそもインストールされているのか? 
  • $ rails -v コマンドで確認します。
 
$ rails -v 
 結果 → Rails 5.2.1
  • バージョンは少し新しいようです。このまま進めていきます。 
 
@1.3 最初のアプリケーション
$ rails _5.1.6_ new hello_app
 ここですが、
$ rails _5.2.1_ new hello_app
 このようにバージョンを指定しました。私のrailsの開発環境に合わせました。
 こちらの記事にあるようにバージョンを指定しないとエラーが起きやすいようです。
 

point

  • railsのバージョンは自身の環境とあっているか?
  • railsでアプリケーションを作るときはまず $ rails (rails versioin) new (アプリケーション名) を覚えよう
  • rails newを実行するとbundle installが自動で実行されている。オプションでbundle install はスキップできたりするようです。
  • rails newした後は大量のファイル、ディレクトリができている!!
  • RailsのようなWebフレームワークディレクトリ、ファイルの構成が標準化されている。(→決まっている。)→読みやすい!
  • app/assetsディレクトリはCSS,JSファイルに使用する!このようにディレクトリは用途が決まっている!
 @1.3.1 Bundler 

point

  • Bundler(gemの管理ツール)を実行し、アプリケーションに必要なgem(railsのアプリケーションはrubyのgemと言われるパッケージで構成されている。)をインストールする。
  • rails newしてできたGemfileでアプリケーションのgemが管理されている。このGemfileを編集し、再度bundle installして必要なgemファイル(アプリケーションに必要なプログラム)をインストールする。

point

  • rails new → bundle installによりアプリケーションが作成される。
  • RailsにはローカルのWebサーバーを起動しアプリケーションの確認ができる$ rails server コマンドが用意されている。(実際にweb上で確認できる)
  • $ rails server コマンドは、$ rails s と省略して実行できる。(タイプ数が減るので推奨します。👍)

 

 

to be continued...
今日はこの辺で。
 
オススメの曲

I walk into the club like, everybody hates me

→ クラブへ歩いて入る、誰もが僕を嫌っているかのように

 

孤独でダークな感じがいいですね。