i did not know you can use buttons like that. it does seem like a much better way to go. to be clear, this pull request does not add using submit tags and comparing the commit values, it has always been that way. the main change is that now the label is localized.

i don't see what logic can be pushed down to the model. the controller action for update is longish, but it is very easy to read and clear exactly what is happening. moving redirect to be a link instead of a form action is complicated, because there is some rather complex logic to decide where to redirect to that is already in the controller so it makes sense to reuse it.

tickets are complicated by their very nature, since there are so many different combinations of ways to modify them (authenticated or not, admin or not, as a user nested resource or top level, etc). what we have now is very usable, and i think that complexity is needed to make it usable. i don't think it will be possible to simplify the tickets without losing something.