This is what I did during the assignment:
I created the User object with Devise and then used scaffolding to create the Petition and Signature objects. Signature is a connector object between a Petition and a User. Preventing editing of the Petition title is handled in the update method of its controller.
When you first load the site, the header will give you a link to the current petitions. If you are not signed in, you see a link for “sign in” and “sign up”. If you are signed in, you will see links for “Sign Out” and “Create a petition”.
If you view the current petitions, you see the standard show/edit/destroy options, plus a half-completed option to sign the petition. So far, it correctly stores the foreign key for the petition but not the user.
I attempted to create rails rspec files as I went but could not soon get up to speed on how to make “render” work (the feature I was most familiar with) and so stopped attempting to write tests that check for correct rendering of pages.
(I was on someone else’s computer since I lost mine last night and so spent the first ~45 minutes setting up git and convincing its owner that I really did need the password.)