56
http://railstutorial.jp/ Rails by YassLab 11 #Rails

Rails解説セミナー 第11章

Embed Size (px)

Citation preview

Page 1: Rails解説セミナー 第11章

http://railstutorial.jp/

Rails

by YassLab

11 #Rails

Page 2: Rails解説セミナー 第11章
Page 3: Rails解説セミナー 第11章

Slideshare

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

Page 4: Rails解説セミナー 第11章

Cloud9

1. 2. URL 3.

Page 5: Rails解説セミナー 第11章

https://ide.c9.io/yasulab/rails-tutorial

Page 6: Rails解説セミナー 第11章

https://rails-tutorial-yasulab.c9users.io/

Page 7: Rails解説セミナー 第11章

URL “Collaborate” → “Group Chat”

Page 8: Rails解説セミナー 第11章

! :)

Page 9: Rails解説セミナー 第11章

Ready?

Page 10: Rails解説セミナー 第11章

!

Page 11: Rails解説セミナー 第11章

http://railstutorial.jp/

Rails

by YassLab

11 #Rails

Page 12: Rails解説セミナー 第11章

1.

• /

2.

3.

• Pagination

4.

• Strong Prameters ( )

Page 13: Rails解説セミナー 第11章

7 108~9

Page 14: Rails解説セミナー 第11章

✅ ↓

🔧

Page 15: Rails解説セミナー 第11章

11 📨 🔒

12 📨 🔓

13 📮 🐤

14 👤 👤

Page 16: Rails解説セミナー 第11章

📝 email

DB

📨

✅ URL

❌ (NG )

⭕ (OK )

Page 17: Rails解説セミナー 第11章

1. AccountActivations

• AccountActivations MVC

2.

• View / Preview / Test

3.

• authenticated?

4.

• Heroku + SendGrid

Page 18: Rails解説セミナー 第11章

http://railstutorial.jp/

Rails

by YassLab

11

Page 19: Rails解説セミナー 第11章

📝 email

DB

📨

✅ URL

❌ (NG )

⭕ (OK )

( )

Page 20: Rails解説セミナー 第11章

ID

User.find_by(❓)

@user.authenticate(🔑)$2a$10$Kc/EY79ieCTBVYFktWkUKOhhY0kItaYPAyMsT23rvAR…

remember_digest

signed[:user_id]340394

vpb8MgPiJyI5UlRjfeuAZA🔑user_id: 3

email 😭

Page 21: Rails解説セミナー 第11章

User.find_by(📨)

@user.authenticated?(🔑)

activation_digest

email 😸

[email protected]📬📨🔑

$2a$10$Kc/EY79ieCTBVYFktWkUKOhhY0kItaYPAyMsT23rvAR…

vpb8MgPiJyI5UlRjfeuAZA🔑

📨🔑

Page 22: Rails解説セミナー 第11章

1. 👤 Unactivated ( )

2. 🔐 Signup

3. 📨 DB Signup

4. 🔑 email DB

5. ✅ home

※ 8~9 remember_token / remember_digest 🤔

Page 23: Rails解説セミナー 第11章

http://railstutorial.jp/

Rails

by YassLab

11 AccountActivations

Page 24: Rails解説セミナー 第11章

AccountActivations

Page 25: Rails解説セミナー 第11章

• AccountActivations $ rails generate controller AccountActivations --no-test-framework

• resources :account_activations, only: [:edit]

• $ rails generate migration add_activation_to_users activation_digest:string activated:boolean activated_at:datetime

AccountActivations

Page 26: Rails解説セミナー 第11章

🔧💨

Page 27: Rails解説セミナー 第11章

http://railstutorial.jp/

Rails

by YassLab

11

Page 28: Rails解説セミナー 第11章

Router

Controller

View

Model

DatabaseReq.

HTML

📨👉

👈 Action

Mailer 📮

Mail ✉

Page 29: Rails解説セミナー 第11章

1. ✉ = @user.email 2. 🔑 = @user.activation_token 👉 GET /account_activations/🔑/edit?email=✉

✉ 🤔

User.find_by(📨)

@user.authenticated?(🔑)

[email protected]📬📨🔑

vpb8MgPiJyI5UlRjfeuAZA🔑

📨🔑

Page 30: Rails解説セミナー 第11章

• ActionMailer ! $ rails generate mailer UserMailer \ account_activation password_reset

• AccountActivations

delivery_method = :test .

• ActionMailerPreview https://rails-tutorial-yasulab.c9users.io/rails/mailers/user_mailer/account_activation

📮 UserMailer

Page 31: Rails解説セミナー 第11章

• Rails :test/mailers/user_mailer_test.rb

• View ✅ ?✅ ?✅ ?✅ ?

🔎

host ! ✅

Page 32: Rails解説セミナー 第11章

🔧💨

Page 33: Rails解説セミナー 第11章

http://railstutorial.jp/

Rails

by YassLab

11

Page 34: Rails解説セミナー 第11章

📝 email

DB

📨

✅ URL

❌ (NG )

⭕ (OK )

🔧

Page 35: Rails解説セミナー 第11章

• signup 🆖✉ flash .

signup create

Page 36: Rails解説セミナー 第11章

📝 email

DB

📨

✅ URL

❌ (NG )

⭕ (OK )

🔧

Page 37: Rails解説セミナー 第11章

authenticated? 👇 !

@user.authenticated?(🔑)

remember_token remember_digest

activation_token activation_digest

reset_token reset_digest

“#{ }_digest” “#{ }_token”

Page 38: Rails解説セミナー 第11章

🤔 ? • Ruby send !

( )

• 👉 ✨

Page 39: Rails解説セミナー 第11章

🔧💨

Page 40: Rails解説セミナー 第11章

: signup login

Page 41: Rails解説セミナー 第11章

!

Page 42: Rails解説セミナー 第11章

: assigns

@user

users_signup_test.rb

users_controller.rb

Page 43: Rails解説セミナー 第11章

http://railstutorial.jp/

Rails

by YassLab

11

Page 44: Rails解説セミナー 第11章

• Heroku SendGrid add-on $ heroku addons:create sendgrid:starter

• SendGrid config/environments/production.rb $ heroku config:get SENDGRID_USERNAME$ heroku config:get SENDGRID_PASSWORD

• Heroku

• !

Page 45: Rails解説セミナー 第11章

? 🤔

Page 46: Rails解説セミナー 第11章

? 🤔

Page 47: Rails解説セミナー 第11章
Page 48: Rails解説セミナー 第11章

1. AccountActivations

• AccountActivations

2.

• View, Preview, Test

3.

• authenticated?

4.

• Heroku + SendGrid

Page 49: Rails解説セミナー 第11章

📝 email

DB

📨

✅ URL

❌ (NG )

⭕ (OK )

Page 50: Rails解説セミナー 第11章

11 📨 🔒

12 📨 🔓

13 📮 🐤

14 👤 👤

Page 51: Rails解説セミナー 第11章
Page 52: Rails解説セミナー 第11章

Action Mailer http://railsguides.jp/action_mailer_basics.html

Page 53: Rails解説セミナー 第11章

Active Job http://railsguides.jp/active_job_basics.html

Page 54: Rails解説セミナー 第11章

Rails http://railsguides.jp/testing.html

Page 55: Rails解説セミナー 第11章

• :)

• : http://railstutorial.jp/seminars

• :) ,

.

• , .

Page 56: Rails解説セミナー 第11章

http://railstutorial.jp/

Rails

by YassLab

11 #Rails