I’m creating a simple task management system to learn Rails. I have a
“task” which is part of a “project”, as so:
for project with id 5’s tasks
My task has a concept of being started, completed and updated.
“Updating” maps to the existing RESTful routes provided by Rails.
Started and completing, however, do not (at least not in an obvious
way). I don’t want to overload “update”, nor do I want to modify the
UI to fit “start task” into a form of update.
I can see two options:
1 - create named routes on task for “start” and “complete” (post to
these does the action in question)
2 - create subresources of project for “completed_tasks” and
“started_tasks” (where a post to /projects/5/completed_tasks/78 would
“complete” task #78 of project #5)
Which would be the “least surprising” way to do this, from a Rails