イヌケンの技術ブログ

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

Rails-Tutorial 7章の備忘録

本記事は第7章の備忘録です。

1.resources :users

このコマンドはRESTアーキテクチャに基づいてuserオブジェクトに対してモデル化を実施する。
これにより、4つの基本的なHTTP requestメソッド(POST/GET/PATCH/DELETE)に基づき、4つの操作を実施する。(Create/Read/Update/Delete)
具体的には以下のHTTPリクエストを用いることでこれらの操作を実施することができる。
ただしこの時viewがまだ作られていないため、HTTPリクエストを投げてもエラーになることに注意。

HTTPリクエスト URL アクション 名前付きルート 用途
GET /users index users_path すべてのユーザーを一覧するページ
GET /users/1 show user_path(user) 特定のユーザーを表示するページ
GET /users/new new new_user_path ユーザーを新規作成するページ (ユーザー登録)
POST /users create users_path ユーザーを作成するアクション
GET /users/1/edit edit edit_user_path(user) id=1のユーザーを編集するページ
PATCH /users/1 update user_path(user) ユーザーを更新するアクション
DELETE /users/1 destroy user_path(user) ユーザーを削除するアクション

2.newアクション

ユーザ登録フォームでは、ユーザ名やメールアドレスやパスワードを入力した際に、その情報を何かしらの入れ物に入れておいて、WebアプリケーションのDBまで届ける必要がある。その入れ物の役割を持つものが@userとなる。

  def new
    @user = User.new
  end

3.form_for

以下のコードは@userを引数に取って@userに必要な情報(ここではname,email,password,password_confirmation)を代入する。
form_forは代入するためのラベルと記入フォームを提供する。

<%= form_for(@user) do |f| %>
      <%= f.label :name %>
      <%= f.text_field :name %>

      <%= f.label :email %>
      <%= f.email_field :email %>

      <%= f.label :password %>
      <%= f.password_field :password %>

      <%= f.label :password_confirmation, "Confirmation" %>
      <%= f.password_field :password_confirmation %>

      <%= f.submit "Create my account", class: "btn btn-primary" %>
    <% end %>