Railsチュートリアル第7章(2周目)ユーザー登録ページを作ろ
Railsチュートリアル第7章ユーザー登録について、
つまづいたことや実行コマンドをまとめました。
ユーザー登録ページの見た目を整えたり、
エラー処理(↓)を設定したりしました。
目次
今回の目標:第7章をざっくり行う
公式はこちら→ 第7章ユーザー登録
理解度は50%を目安にしているので、演習や細かいところはすっ飛ばします。
約1時間で終わらせます。
必要なもの
・AWS (Cloud9)アカウント
・Bitbucket アカウント
(GitHubでも良いが、今回は忠実に進めていく)
・Heroku アカウント
行ったこと
ユーザー情報を表示
埋め込みRubyを使って、各ユーザーの情報を取得・表示させます。
名前とメールアドレスなどですね。
デバッグ
debuggerメソッドを利用しました。
コンソールから、情報を取り出して確認できます。
(byebug) @user.name
“Michael Hartl”
(byebug) @user.email
“mhartl@example.com”
(byebug) params[:id]
“1”
アイコンの設定
Gravatarサービスを利用し、
アイコン画像を取り込みます。
位置の変更
見た目を整えてあげました。
ユーザー登録ページを作成
新規ユーザーを登録するページを作成しました。
よく見るやつ〜!
登録時エラー
新規登録時に、
メールアドレスの形がおかしい、パスワードが短いなどの場合は
エラーとします。
内容によって、表示を変更します。
サンプルを登録
始めてユーザー登録をしたときに、flash表示(緑色の部分)をするようにしました。
これは最初の1回のみで、リロードすると消えます。
ほ〜、こんな事もできるんですねえ。
つまずいたこと
ファイルの変更と、それに伴う情報の整理が多いかな。
順番に沿っていけば大丈夫かと思います。
実行コマンド
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
$ rails console >> User.count >> User.first (byebug) @user.name (byebug) @user.email (byebug) params[:id] (byebug) $ rails console >> user = User.first >> user.update_attributes(name: "Example User", ?> email: "example@railstutorial.org", ?> password: "foobar", ?> password_confirmation: "foobar") $ rails console >> user = User.new(name: "Foo Bar", email: "foo@invalid", ?> password: "dude", password_confirmation: "dude") >> user.save >> user.errors.full_messages >> user.errors.count >> user.errors.empty? >> user.errors.any? >> helper.pluralize(1, "error") >> helper.pluralize(5, "error") $ rails generate integration_test users_signup $ rails console >> User.count $ rails test $ rails db:migrate:reset $ git commit -am "Finish user signup" $ git push $ git commit -am "Use SSL and the Puma webserver in production" $ git push |
まとめ
Railsチュートリアル第7章ユーザー登録を行いました。
ユーザー登録って、サービスを使い始めるときに
最初に見えるページだし、
一番テンション上がるところですね。
まれにエラーで登録出来なくて、理由もわからなくて
「ま、いっか・・・」となる場合もあります。
今回のように、ちゃんと理由を示してあげないといけませんね。
第1章(2周目) はこちら。
ここでしか読めない!話題のやめ太郎さんへの質問
やめ太郎さんが、面白おかしく記事を書けるのは
前職がコールセンターだったから??
Twitterも要チェック☆
ほかにも50名以上のお話が読めるのは、このブログだけ!