Test Your Knowledge

Quiz

  1. How many files does Rails create in response to a single script/generate scaffold request?

  2. In REST, how do HTTP GET, PUT, POST, and DELETE map to the “CRUD” of create, read, update, and destroy?

  3. What does “idempotent” mean?

  4. How do you make sure a result can be bookmarked?

  5. Why do four basic REST functions end up making seven different methods in the controller?

  6. What does map.resources :people mean?

  7. How do you specify responses in different formats?

  8. How does an ID value connect to a specific resource?

  9. What happens if you send a Rails application a chunk of XML?

Answers

  1. Rails creates a lot of files in response to a script/generate scaffold request, though some of them may exist already. It will create index, show, new, and edit view files, as well as one with the name of the object specified. It will also create a model, test, test fixture, migration, controller, test controller, and helper class, and add a route to the routing table. So, the answer is usually 12.

  2. GET maps to read. POST maps to create. PUT maps to update. DELETE maps to destroy.

  3. Idempotent means that you can call the same method as many times as you want and still get the same result. A GET request should be idempotent, and no matter how many GET requests you make, none of those GET requests will change what is returned on the next call.

  4. The easiest way to make sure that something can be bookmarked is to make it consistently accessible through a GET request to a particular URL. (Making this work with other request methods often means presenting their results as a redirect to a GET. That way the results are bookmarkable, and the transaction only happens once.)

  5. The four REST methods map neatly to CREATE, READ, UPDATE, and DELETE for a single resource, but there are a few other operations needed to make the application more usable to humans. All of them use GET. index shows a listing of all the resources available. The new method provides a form you can use to create a new resource. The edit method provides a form you can edit to modify an existing resource. Those forms then call the create and update methods, respectively.

  6. map.resources :people creates a huge collection of routes that connect specific URLs to the REST methods for working with :people objects.

  7. You can provide replies in different formats using the respond to do |format| call inside of a controller.

  8. By default, the Rails uses REST-based routing to connect to resources whose primary key matches the ID value provided in the URI.

  9. If you send the XML as part of a POST or PUT, Rails will check the XML to see if it matches Rails’ expectations for the data structure that should go there. If it doesn’t match, it will reply with an error. If it does match, it will create a new record based on the data (POST) or modify an existing record (PUT).

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset