A Day in the Life of a Resource
by Laurie Spencer
1. Show one resource
1.1. Browser/User: GET /resources/:id
1.2. Controller: show
1.3. Model/DB: get resource from db by id
1.4. View: Display resource
2. Edit a resource
2.1. Browser/User: GET /resources/:id/edit
2.2. Controller: edit
2.3. Model/DB: get resource from db by id
2.4. View: Display new (filled in, editable) form for resource
2.5. Browser/User: Modify fields
2.6. Browser/User: Submit = PUT /resources:id/
2.7. Controller: update
2.8. Model: Save resource
2.9. Controller: redirect
3. Delete a resource
3.1. Browser/User: DELETE /resources/:id
3.2. Controller: destroy
3.3. Model/DB: delete resource from db by id
3.4. Controller: redirect
4. Show all resources
4.1. Browser/User: GET /resources
4.2. Controller: index
4.3. Model/Db: Retrieve all resources
4.4. View: Format list of resources
5. Create a resource
5.1. Browser/User: GET /resources/new
5.2. Controller: new
5.3. Model: New (empty) instance of resource
5.4. View: Display new (empty, editable) form for resource
5.5. Browser/User: Fill in fields
5.6. Browser/User: Submit = POST /resources
5.7. Controller: create
5.8. Model: Save resource
5.9. Controller: redirect
6. Players
6.1. Resource - a thing, a.k.a. model, gets a table in db
6.2. Controller - micromanager
6.3. Browser/User - interacts/displays with forms, links and buttons
6.4. View - minion for controller, erb templates, html
6.5. Routes - that guy that sits in the corner, you give him minimal information and he gets things done