Railsを理解する上で大切なこと

18日目です。

本日の学習で、半年間Progateで挑戦するたびに挫折してきた「Rails」が、手に取るように頭に入ってきて、とても感動しました。

なぜできたかというと、いいアドバイスをもらえたからです。

 

それは、「ルーティング」「コントローラー」「ビュー」「モデル」の中で、今どこのコードを書いているのか常に意識しながら学習する、というものです。

 

A4の紙に下記のように書いて、今どこのことをやっているのか、なんの内容をやっているのか周りにびっしり4枚書きました。

※なお、スクールの先輩が「RailsはProgateの方が理解しやすい」というので、本日はProgateのRails第1〜第3章まで進めました。

f:id:tattaka_s:20190711224927p:plain

各用語は、自分なりに下記のように理解しています。

①ルーティング(config/routes.rb)

プラウザから送られてきたURLに従って、どのコントローラーのどのアクションで処理するか振り分ける

②コントローラー(app/controller/〇〇_controller.rb

・コントローラーと同じ名前のビューフォルダから、コントローラーで定義したアクション(メソッド)と同じ名前のHTMLファイル(html.erb)をプラウザに返す。

③ビュー(app/views/フォルダ名/ファイル名.html.erb)

プラウザに表示したいHTMLを作成したファイル。<image src = "/〇〇">で画像も入れられる。

④モデル(app/models/〇〇.rb)

・データベースの設計図であり、テーブルを操作する指示が書かれているファイル(マイグレーションファイル)を持つ。また、新たにインスタンスを生成し、データベースに保存する役割をもつ。

⑤データベース

・指定されたカラム名でテーブルを作り、レコード(行)とカラム(列)でデータを管理する。idと作成日時、更新日時は自動作成される。

 

上記の理解と、「新しいページを作成するためにはルーティング、アクション、ビューが必要」であり、今作っているページは「トップページ」「サイトの説明ページ」「新規投稿ページ」など、何を作っているのかを意識することで理解力が高まりました。

 

ーーーーーーーーーーーーーーーー

明日で事前学習最終日なのですが、現在進捗が48%で、当初掲げていた「2/3」の目標(66.6%)まで、残り18.6%残っているので、なんとか明日到達できるように頑張ります。