序文
新コーナーが始まります。
進捗
- 第7章 ユーザー登録
- 7.3 ユーザー登録失敗
コード実装部分(一部)
/sample_app/app/controllers/users_controller.rb
class UsersController < ApplicationController def show @user = User.find(params[:id]) end def new @user = User.new end # /usersにPOSTでアクセスしたとき(/signupのフォームからデータを送信したとき)に実行される def create # /signupから以下のようなハッシュデータが送信されてくる # {"utf8"=>"✓", # "authenticity_token"=>"XXXXXXXXXX==", # "user"=>{"name"=>"yjkym", # "email"=>"y@jk.ym", # "password"=>"[FILTERED]", # "password_confirmation"=>"[FILTERED]"}, # "commit"=>"Create my account"} # params[:user]でハッシュデータが取り出せる # @user = User.new(params[:user]) # 実装は終わっていないことに注意! # セキュリティ上、送信データの検証をしてやるべき # Strong Parametersというテクニックを使う @user = User.new(user_params) if @user.save # 保存の成功をここで扱う。 else render 'new' end end private def user_params # paramsハッシュでは:user属性を必須とし、 # 名前、メール、パスワード(確認)の属性を許可する # 返り値はハッシュ↓ # {"name"=>"", "email"=>"", # "password"=>"", "password_confirmation"=>""} params.require(:user).permit(:name, :email, :password, :password_confirmation) end end
GitHub
実行結果
感想
いよいよフォームからデータを投げるようなことをやりはじめて、学習速度がガクッと落ちた。
Strong Parametersとか散々やった記憶あるんだけど、やっぱり全然定着してないな。
まぁ仕方ないねー難しいもん。
例によって逐一コメントを書きながら進めていくが、いろんなファイルが絡み合ってきて処理の順番を追うだけでも一苦労。
今、MVCのどの部分で処理が行われているのかということをしっかり意識しながらやっていこう。
明日からは。
カロリーメイトください。

- 出版社/メーカー: 大塚製薬
- メディア: 食品&飲料
- この商品を含むブログを見る
今日のunityroom
(2曲)音ゲー譜面自動生成(音ゲー素案) | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
www.youtube.com
音ゲー少ないのでいいですね。
ランキングつけてunity1週間ゲームジャムにあわせて出せば凄腕のお兄さんたちが競ってやってくれそうです。
このコーナーがいつまで続くかは不明。