【초학자 지원】RailTutorial에서 유일하게 암기하는 것이 좋은 곳

아무래도, 호보하루입니다.

나는 평소 초학자에게 프로그래밍을 가르칠 때,

「환암기는 절대 하지마!」라고 목소리를 크게 하고 말합니다.

하지만 이번에는 굳이 말합시다.

「여기만은 암기해도 누르고 있어!」라고.

이곳은 어디야 얘기죠.

그것은 "MVC 아키텍처의 개념도"입니다.



와우 엄청 읽고 날고 싶어요.

음 부정은 하지 않습니다. 나도 같은 것 같아요.

하지만 RailsTutorial에서 여기를 읽고 먼저 가 버리는 것과,

제대로 암기하고 앞으로 나아가는 것과는 적어도 100배 이상 이해도가 다릅니다.

왜냐하면, 앞으로 몇 100회와 이 그림을 사용할 때가 오기 때문입니다.

머리 속에서 이 그림을 떠올리면서, 「지금, 나는 ④의 흐름을 코드로 쓰고 있다」라고 생각하면서 쓰는 것과,

「마법의 주문이다」 「어쩐지 모르겠지만 움직였다」 「다음 이코」라는 느낌으로 코드 쓰는 것과는 이해도가 단차입니다.

이것을 계기로 「MVC 아키텍쳐의 개념도」를 머리에 두드려 소라로 걸게 되어 주세요.

이하, 구체적인 사용법입니다. 도움이되면 다행입니다.
사용자 목록 화면을 표시할 때의 예입니다.

① 요청(브라우저)에서 라우팅으로 정보가 전송됨

routes.rb
# ルーティング
# リクエストから情報が詰まったカプセルが届きました
# どのコントローラーのどのアクションにそのボールを渡すかという情報がそこには入っています
# その情報を元にどこに仕事を渡すか、ルーティングが判断してカプセルを渡します
resources :users, only: :index

② 라우팅에서 컨트롤러의 액션으로 정보가 전송된다

users_controller.rb
class UsersController < ApplicationController
  # この段階で、indexさんに仕事を任せた状態
  # これからindexおじさんは仕事をしていきます
  def index
    # ③ ページ表示に必要なユーザ一覧データの貰い方を知っているUserモデルにデータ提供を依頼します
    # ④ 依頼を受けたモデルはallメソッドを使ってデータベースに「ユーザ一覧データくれ」と命令します
    # ⑤ データベースはモデルからきた命令に応じてデータを渡します
    # ⑥ Userモデルは依頼を達成するべく、ユーザ一覧をコントローラーに渡します(結果が@usersの中身
    @users = User.all
  end
end

⑦Users 뷰 아줌마에게 필요한 데이터를 전부 건네주고, 「완성된 페이지를 주세요」라고 의뢰한다

views/users/index.html.erb
<%= @users.each do |user| %>
  <%= user.name %> | <%= user.email %>
<% end %>

⑧Users#index 뷰 아줌마는 index.html.erb 템플릿과 전달된 데이터를 사용하여 완성된 페이지를 만들고 이를 index 아저씨에게 전달합니다.

⑨index 아저씨는 그것을 응답(브라우저에 돌려주는 것) 했다고 합니다.

짱짱.

좋은 웹페이지 즐겨찾기