Use Hash#find instead of Hash#each/break.
Split out sort_direction() helper method.
Split out build_options() helper function.
Combine two if statements in WorksController#set_author_attributes.
Hoist a condition duped in every branch to the top of WorksController#set_author_attributes.
Split out some helper functions for WorksController#set_instance_variables

I'm not sure about the method names, but it's far more readable to me,
now.
unless/else -> if/else.
I made WorksController#update slightly prettier~
Split out WorksController#update_preview_mode helper function.
Deduplication ftw.
Use `saved` as the condition, as was done elsewhere.
Re-format a case statement to avoid the silly 18-space indent.
Cleaned up a few if statements in WorksController#new
Clean up WorksController#drafts.
Clean up WorksController#edit.
Clean up WorksController#collected.
WHITESPACE IS GREAT LET'S ADD SOME WHITESPACE.

*vibrates across the room*

(I had sugar.)
`and` is not your friend in Ruby*.

* Sole exception I know of: `blah and return`, though I personally avoid
  that as well.
*throws things at shalott*
def;...;rescue;end == def;begin;...;rescue;end;end