rails解説セミナー 第6章

34
6ユーザーのモデルを作成する #Railsチュートリアル http://railstutorial.jp/ Rails解説セミナー by ヤスラボ Ruby on Rails チュートリアル 実例を使ってRailsを学ぼう Michael Hartl (マイケル・ハートル)

Upload: yohei-yasukawa

Post on 08-Aug-2015

111 views

Category:

Education


1 download

TRANSCRIPT

第6章 ユーザーのモデルを作成する

#Railsチュートリアル

http://railstutorial.jp/

Rails解説セミナー

by ヤスラボ

Ruby on Rails チュートリアル 実例を使ってRailsを学ぼう

Michael Hartl (マイケル・ハートル)

セミナーを 始める前に

講義中に参照したリンクはコメント欄で (質問もお気軽に)

講師のターミナルは下記 URL から閲覧できます :)

http://screenx.tv/yasulab

Slideshare.all.url

http://www.slideshare.net/yasulab/presentations

質問はいつでもお気軽に! 個別相談は休憩や終了後に :)

“話についていけなかったorz” そんなときに安心な動画サポート!

http://railstutorial.jp/screencasts#ch00

Screencast.first.visit?

この2つは特に重要です

Chapter.code.valid?

https://github.com/yasslab/sample_apps

Ready?

解説セミナーを 進めていきましょう!

第6章 ユーザーのモデルを作成する

#Railsチュートリアル

http://railstutorial.jp/

Rails解説セミナー

by ヤスラボ

Ruby on Rails チュートリアル 実例を使ってRailsを学ぼう

Michael Hartl (マイケル・ハートル)

第5章 まとめ1. Webサイトの基本的なレイアウトを作成− Home/About/Help/Signupページ− Bootstrapを使ったデザイン− Partial機能を使ったリファクタリング

2. Asset Pipeline機能やSassについて紹介

3. Routesやテストを洗練させる− subject { … } , before { … }

4. ユーザー登録のページをTDDで作成

Model-View-Controller (MVC) アーキテクチャの概念図

Router

Controller

View

Model

DatabaseReq.

HTML

第3章

第5章

第6章

第4章

1. ユーザー用のデータモデルを作成 cf. rails scaffold Users name:string email:stringあデータを作成・検索・更新してみる

2. ユーザーのデータを検証する名前が存在するか?フォーマットは正しいか?

3. パスワードを追加するhas_secure_passoword

第6章 まとめ

第6章 ユーザーのモデルを作成する

6.1 Userモデル

http://railstutorial.jp/

Railsチュートリアル

by ヤスラボ

Ruby on Rails チュートリアル 実例を使ってRailsを学ぼう

Michael Hartl (マイケル・ハートル)

• Userモデルの作成rails generate model User name:string email:string

• db/migrate/[timestamp]_create_users.rb を確認

• マイグレーション(bundle exec rake db:migrate)

• ロールバック (bundle exec rake db:rollback)

• db/development.sqlite3 の中身を確認

• rails console 上でユーザーを作成・検索・更新

Userモデル

第6章 ユーザーのモデルを作成する

6.2 ユーザーを検証する

http://railstutorial.jp/

Railsチュートリアル

by ヤスラボ

Ruby on Rails チュートリアル 実例を使ってRailsを学ぼう

Michael Hartl (マイケル・ハートル)

• 名前やメールアドレスを検証(validate)する:

• name は空ではないか? (存在性)

• email は重複していないか? (一意性)

• email はフォーマットに従っているか?

• 検証項目例: 存在性/一意性/フォーマット/長さ

• テスト駆動開発でUserモデルへの検証を追加

ユーザーを検証する

第6章 ユーザーのモデルを作成する 6.3 セキュアなパスワードを

追加する

http://railstutorial.jp/

Railsチュートリアル

by ヤスラボ

Ruby on Rails チュートリアル 実例を使ってRailsを学ぼう

Michael Hartl (マイケル・ハートル)

• ユーザにpassword_digestという属性を追加

• password_digestに対するテストを追加

• Railsのhas_secure_password機能を使って、パスワードを暗号化した後にDBに保存する。(万が一DBが漏れてもパスワードを盗ませない)

• authenticateメソッドを使って認証する。

• 実際にユーザーを作成して、動作を確認する。

セキュアなパスワードを追加する

お疲れ様でした

1. ユーザー用のデータモデルを作成 cf. rails scaffold Users name:string email:stringあデータを作成・検索・更新してみる

2. ユーザーのデータを検証する名前が存在するか?フォーマットは正しいか?

3. パスワードを追加するhas_secure_passoword

第6章 まとめ

Model-View-Controller (MVC) アーキテクチャの概念図

Router

Controller

View

Model

DatabaseReq.

HTML

第3章

第5章

第6章

第4章

参考情報

Active Record の基礎http://railsguides.jp/active_record_basics.html

Active Record マイグレーションhttp://railsguides.jp/active_record_migrations.html

Active Record バリデーションhttp://railsguides.jp/active_record_validations.html

お知らせ

週末セミナー打ち上げhttps://coedo-rails.doorkeeper.jp/events/25304

開催決定!

セミナー参加回数に応じて値下げ

RoR ビギナーズ倶楽部http://coedo-rails.doorkeeper.jp/

アドバイザーとして‘教えながら復習する’※ キャンセル待ちでもアドバイザーであれば参加可

今後の進め方• 反響がある限り,継続的に実施していきます.

• 今後の解説セミナーのスケジュール → 詳細: http://railstutorial.jp/seminars

• 欠席時はスクリーンキャストで補完できます :) → 詳細: http://railstutorial.jp/screencasts

• アンケートのご回答に協力くださいコメント欄にURLを貼付けます :-) ※ アンケートに回答を送信すると, 特典動画の情報が表示されます.

第6章 ユーザーのモデルを作成する

#Railsチュートリアル

http://railstutorial.jp/

Rails解説セミナー

by ヤスラボ

Ruby on Rails チュートリアル 実例を使ってRailsを学ぼう

Michael Hartl (マイケル・ハートル)