¿Cómo especificar devise_parameter_sanitizer para la acción de edición?

He agregado Devise a mi aplicación Rails 4 y he agregado exitosamente el nombre de usuario, etc. a mi modelo de usuario. Además, soy capaz de almacenar esos campos utilizando el modo perezoso ™, es decir,

class ApplicationController < ActionController::Base
  before_filter :configure_permitted_parameters, if: :devise_controller?

  protected

    def configure_permitted_parameters
      devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:email, :password, :password_confirmation, :firstname, :middlename, :lastname) } 
    end
end

Sin embargo, lo intenté

def configure_permitted_parameters
  devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:email, :password, :password_confirmation, :firstname, :middlename, :lastname) }
  devise_parameter_sanitizer.for(:edit) { |u| u.permit(:email, :password, :password_confirmation, :firstname, :middlename, :lastname) }
end

pero eso no funcionó como se esperaba (el nombre de usuario no se almacena cuando lo invoca la acción de edición). ¿Hay algo más que deba hacer para que funcione? ¡Gracias!

Respuestas a la pregunta(4)

Su respuesta a la pregunta