Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save cheljoh/e0cd9a6ab2d9a6cb5996 to your computer and use it in GitHub Desktop.
Save cheljoh/e0cd9a6ab2d9a6cb5996 to your computer and use it in GitHub Desktop.
CRUD in Sinatra -- Check for Understanding
  1. Define CRUD.
  2. There are seven verb + path combinations that are necessary in a basic Sinatra app in order to provide full CRUD functionality. List each of the seven combinations, and explain what each is for.
  3. Why do we use set method_override: true?
  4. Explain the difference between value and name in this line: <input type='text' name='task[title]' value="<%= @task.title %>"/>.
  5. What are params? Where do they come from?
@cheljoh
Copy link
Author

cheljoh commented Feb 2, 2016

  1. CRUD is an acronym that stands for creating, reading, updating, and deleting in regards to the maintenance and storage of information.
  • GET and '/tasks'- allow us to view all tasks
  • GET and '/tasks/:id'- allow us to view one task
  • GET and '/tasks/new'- allow us to view new form
  • POST and 'tasks'- allow us to save information and view all tasks
  • GET and '/tasks/:id/edit'-allow us to view new form to update task
  • PUT and '/tasks/:id'-allow us to save updated task
  • DELETE and 'tasks/:id'-allow us to delete specific task
  1. We set method_override to true in order to use put and delete methods (browsers just read get and post)
  2. task[title] is accessing a value of a hash, @task.title is accessing an attribute of an object and is actually viewable in the browser
  3. Params are a hash that allow us to access route patterns and are located in the request body (still don't 100% understand this)

@rwarbelow
Copy link

  1. 👍
  2. 👍 (remember to include the leading "/" on POST)
  3. 👍
  4. Check the initial question on this one.
  5. Params can be data from a form or data from the URL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment