Add CRUD logic to Devise
If your app authentication is handled by Devise,
and you want to be able to administer your users' account in your app,
you'll need a CRUD controller and the associated views.
Devise's wiki has a lot of resources, including this one: How-To:-Manage-users-through-a-CRUD-interface. (I since edited the page to reflect these changes).
I found out that it needs a little correction and an addendum.
- The path_prefix in the routes file is not optional. If you don't add it, rails will mix up edit routes.
- In your controller's update method, you need to check if the password is blank. If so, remove the key from the hash. If not, Devise will fail its validations.
if params[:user][:password].blank?
params[:user].delete(:password)
params[:user].delete(:password_confirmation)
end