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 %>