First rule of dealing with complexity: avoid it. When a task looks hard to implement straightforwardly in Rails, programmers accept the challenge and spend days on unconventional approaches. Talk instead to the business stakeholder: explain the cost, ask whether the requirement is essential, or whether the workflow can be tweaked (e.g. promote-to-admin as a second step after user creation). Usually there is a business-side compromise that makes the change cheap.