Rails チュートリアル七章
ユーザー登録
7.1 ユーザー登録をする
7.1.1 デバックとRails環境
プロフィールは動的なページだからWebサイトレイアウトにデバック情報を追加
<%= debug(params)if Rails.env.development? %>
開発環境だけにデバック情報が表示される
Railsはテスト環境、開発環境、本番環境がある
@mixin box_sizing {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
Sassのミックスイン機能でCSSのパッケージ化して複数の要素に適用する
7.1.2Usersリソース
resources :users
RESTフルで必要なアクションすべて使える
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) ユーザーを削除するアクション
ユーザー情報を表示するための借りのビュー
show.html.erb
<%= @user.name %>, <%= @user.email %>
debuggerメソッド
直接的にデバックを見れる
Gravatar画像とサイドバー
プロフィール写真をアップロードして指定したメールアドレスと関連付ける
gravatar_for ヘルパーメソッドを使う
<%= gravatar_for @user %>
hexdigestメソッド
メールアドレスをMD5でハッシュ化出来る
Digest::MD5::hexdigest(email.downcase)
gravatar_for メソッド定義
def gravatar_for(user)
gravatar_id = Digest::MD5::hexdigest(user.email.downcase)
gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}"
image_tag(gravatar_url, alt: user.name, class: "gravatar")
end
7,2 ユーザー登録フォーム
7.2.1 form_withメソッド
フォームを作成するメソッド
<%= form_with(model: @user, local: true) do |f| %>
<%= f.label :name %>
<%= f.text_field :name %>
7.2.2 フォームHTML
form_withメソッドは一つの変数をもつブロックを取ることを表す
fオブジェクトはHTMLフォームに対応するメソッドが呼びたされ@userを設定する
7.3.2 Strong Parameters
private
params.require(:user).permit(:user, :email, :password,
:password_confirmation)
必要なパラメータと許可されたパラメータを指定する
user_params パラメータを使いやすくするための慣習
privateキーワードで外部から使えなくする
7.3.3 エラーメッセージ
問題が起こったためユーザー登録が行われないためユーザーにわかりやすくエラーメッセージを伝える
errors.full_messageオブジェクトはエラーメッセージの配列を持っている
7.4 ユーザー登録成功
リダイレクトする
redirect_to @user
flash
二度目以降ページを表示しないためにflashメソッドを使う
flash[:success] = "Welcome to the Sample App!"
この記事が気に入ったらサポートをしてみませんか?