Sinatra Basic Forms Lab
Your local pet adoption store has asked you to build their new website. First and foremost, the store needs a form for their staff to add puppies that are available for adoption. Good thing you love puppies and coding!
- Implement a POST request to the controller to display data from a user in the view
- Implement both POST and GET requests
- Connect a controller action with both a view and a model
The focus of this lab is to build a way for a user to go to a homepage, follow a link to a form where they can enter a puppy's information, and, upon submission, view the puppy's information.
Build out a puppy class in
models/puppy.rb. Puppies should have name, breed, and age attributes. You will need to be able to pass these three attributes to initialization, as well as readers or accessors for the attributes.
app.rbbuild out a GET request to load a homepage. The homepage should go to the main route
The home page will also need a new view
index.erb. This page should welcome you to the Puppy Adoption Site. Add this view to the controller action.
Now, we need to create a form for a user to list a new puppy that is available for adoption. You can create this form in
views/create_puppy.erb. Remember, you'll need to set up another controller action for a user to be able to view this form in the browser. The "submit" button of a form can be an
<input>element with a
<button>element with a
"submit) — a plain old
<button>won't do it. If you want to change the text in the button, check out these docs:
Now we need to make sure the form is being submitted properly. You'll need to have a third controller action that takes the input from the user and renders a third view (
views/display_puppy.erb) which displays the info for the puppy that was just created. Create an instance of a puppy to hold the data about the puppy you just created.
Add a link on the homepage to the new puppy form.
View Sinatra Basic Forms Lab on Learn.co and start learning to code for free.