【初学者支援】RailTutorialで唯一暗記したほうがいいところ
どうも、くぼはるです。
僕は普段初学者にプログラミングを教えるときに、
「丸暗記は絶対するな!」と声を大にして言います。
ですが、今回はあえて言いましょう。
「ここだけは暗記してでも押さえておけ!」と。
ここってどこなんだって話ですよね。
それは、「MVCアーキテクチャの概念図」です。
うわーめっちゃ読み飛ばしたいわー横文字つらいわーって思ったそこのあなた!
まぁ否定はしません。僕も同じこと思いました。
ですが、RailsTutorialでここを読み飛ばして先に行ってしまうのと、
しっかりと暗記して、先へ進むのとでは、少なくとも100倍以上理解度が違います。
なぜかと言うと、この先何100回と、この図を使うときがくるからです。
頭の中でこの図を思い浮かべながら、「今、僕は④の流れをコードで書いている」と思いながら書くのと、
「魔法の呪文だぁ」「なんか知らないけど動いたぁ」「次いこー」って感じでコード書くのとでは、理解度が段違いです。
これを機に「MVCアーキテクチャの概念図」を頭に叩き込んでソラでかけるようになっておいてください。
以下、具体的な使い方です。参考になれば幸いです。
ユーザーの一覧画面を表示する際の例です。
①リクエスト(ブラウザ)からルーティングへ情報が送られる
# ルーティング
# リクエストから情報が詰まったカプセルが届きました
# どのコントローラーのどのアクションにそのボールを渡すかという情報がそこには入っています
# その情報を元にどこに仕事を渡すか、ルーティングが判断してカプセルを渡します
resources :users, only: :index
②ルーティングからコントローラーのアクションへ情報が送られる
class UsersController < ApplicationController
# この段階で、indexさんに仕事を任せた状態
# これからindexおじさんは仕事をしていきます
def index
# ③ ページ表示に必要なユーザ一覧データの貰い方を知っているUserモデルにデータ提供を依頼します
# ④ 依頼を受けたモデルはallメソッドを使ってデータベースに「ユーザ一覧データくれ」と命令します
# ⑤ データベースはモデルからきた命令に応じてデータを渡します
# ⑥ Userモデルは依頼を達成するべく、ユーザ一覧をコントローラーに渡します(結果が@usersの中身
@users = User.all
end
end
⑦Usersビューおばさんに必要なデータを全部渡して、「完成されたページをください」と依頼する
<%= @users.each do |user| %>
<%= user.name %> | <%= user.email %>
<% end %>
⑧Users#indexビューおばさんはindex.html.erbテンプレートと渡されたデータを使って完成されたページを作成し、それをindexおじさんに渡します
⑨indexおじさんはそれをレスポンス(ブラウザに返すこと)しましたとさ。
ちゃんちゃん。
Author And Source
この問題について(【初学者支援】RailTutorialで唯一暗記したほうがいいところ), 我々は、より多くの情報をここで見つけました https://qiita.com/kuboharu/items/530a5374f0609ca3598c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .