Edit form

See commits.

This is overkill for the problem at hand. I would probably introduce this abstraction once I required any extra logic from my edit function above and beyond what standard Rails way can provide (without using any of the fancy rails things like nested attributes).