rails course day 4
TRANSCRIPT
![Page 1: Rails course day 4](https://reader034.vdocuments.site/reader034/viewer/2022042907/5884db7c1a28ab4b778b5059/html5/thumbnails/1.jpg)
Ruby on rails course
By @AlSayedGamal
![Page 2: Rails course day 4](https://reader034.vdocuments.site/reader034/viewer/2022042907/5884db7c1a28ab4b778b5059/html5/thumbnails/2.jpg)
Views and Controllers
Day 4
![Page 3: Rails course day 4](https://reader034.vdocuments.site/reader034/viewer/2022042907/5884db7c1a28ab4b778b5059/html5/thumbnails/3.jpg)
Agenda
Routing
Controllers and nested controllers
Views and template engines
![Page 4: Rails course day 4](https://reader034.vdocuments.site/reader034/viewer/2022042907/5884db7c1a28ab4b778b5059/html5/thumbnails/4.jpg)
routing (routes.rb)General rules
root 'pages#main'
get '/patients/:id', to: ‘patients#show’
match 'photos', to: 'photos#show', via: [:get, :post]
resources and nested resources
url_for
member and collection
![Page 5: Rails course day 4](https://reader034.vdocuments.site/reader034/viewer/2022042907/5884db7c1a28ab4b778b5059/html5/thumbnails/5.jpg)
Resutful RoutesNote: the url helper methods
![Page 6: Rails course day 4](https://reader034.vdocuments.site/reader034/viewer/2022042907/5884db7c1a28ab4b778b5059/html5/thumbnails/6.jpg)
routing(routes.rb)get ‘:controller/:action/:id/with_user/:user_id'
Naming routes (as:)
via: [get, post or all]
constraints: { subdomain: 'admin' } can save your life
get 'books/*section/:title', to: ‘books#show'
mount AdminApp, at: ‘/admin’
get 'こんにちは', to: 'welcome#index'
![Page 7: Rails course day 4](https://reader034.vdocuments.site/reader034/viewer/2022042907/5884db7c1a28ab4b778b5059/html5/thumbnails/7.jpg)
Controller
Actions
before_action
layout
respond_to
head and status codes
render views
redirect_to with flash
![Page 8: Rails course day 4](https://reader034.vdocuments.site/reader034/viewer/2022042907/5884db7c1a28ab4b778b5059/html5/thumbnails/8.jpg)
Controller (Params)
Hash, Array and JSON Parameters
GET /clients?ids[]=1&ids[]=2&ids[]=3
def default_url_options { locale: I18n.locale } end
Strong paramaters
![Page 9: Rails course day 4](https://reader034.vdocuments.site/reader034/viewer/2022042907/5884db7c1a28ab4b778b5059/html5/thumbnails/9.jpg)
Controller
session, flash and cookies
request object
Send_data and send_file
![Page 10: Rails course day 4](https://reader034.vdocuments.site/reader034/viewer/2022042907/5884db7c1a28ab4b778b5059/html5/thumbnails/10.jpg)
Controllers (Request Specials)
session, flash and cookies
request object
Send_data and send_file
![Page 11: Rails course day 4](https://reader034.vdocuments.site/reader034/viewer/2022042907/5884db7c1a28ab4b778b5059/html5/thumbnails/11.jpg)
add it to Gemfile and bundle
rails g devise users
rake db:migrate
Notice the before_action filter
Tip1: check “rails g”after installation.
Tip2: check user model after generation.
![Page 12: Rails course day 4](https://reader034.vdocuments.site/reader034/viewer/2022042907/5884db7c1a28ab4b778b5059/html5/thumbnails/12.jpg)
Thanks