registrations rails español ruby-on-rails devise registration

ruby-on-rails - español - login rails



Diseñar: Permitir a los administradores editar otros usuarios-Rails (3)

Devise es ideal para la autenticación de usuarios, pero no viene con soporte incorporado para administrar usuarios. Así que tendrás que construir eso tú mismo.

Aquí hay un ejemplo de cómo hacerlo. El ejemplo tiene algunos meses de antigüedad, pero debería apuntarle en la dirección correcta.

Estoy intentando permitir que un usuario administrador edite a otros usuarios en Devise, pero cuando intento acceder a una página de edición para otro usuario (por ejemplo, / users / 1 / edit), recibo el siguiente mensaje:

Unknown action Could not find devise mapping for path "/users/1/edit"

La única ruta que parece funcionar es / users / edit, que muestra la página de edición para el usuario actual.

En mi archivo de rutas tengo:

devise_for :users, :controllers => { :registrations => ''users'' } resources :users

¿Algunas ideas? ¡Gracias!


He hecho lo que intentas hacer y tus rutas se ven bien.

También debe crear un UsersController que maneje todas las acciones de CRUD que desea realizar en los usuarios. Esto está separado de Devise.

Cuando su UsersController está allí, solo puede permitir que los usuarios de administrador accedan a acciones particulares redirigiendo (quizás en un filtro anterior) si el current_user no es un administrador.


También he tenido que hacer esto, y actualmente no está construido en un dispositivo. Ya que la respuesta más votada tiene un enlace muerto, pensé que publicaría mi solución aquí.

Debe crear un Controlador de Usuarios y crear sus formularios y su controlador por su cuenta, pero también debe aislar el Controlador de Usuarios que se configura. Para hacer esto, en su archivo routes.rb , modifique su devise_for :users llaman a

devise_for :users, :path_prefix => ''d'' # routes for devise modules on User resources :users # custom admin-type CRUD for users

Esto cambiará todas sus rutas predeterminadas manejadas por el dispositivo a / d / users / ... y le permitirá tener la ruta / users / ... para permitirle administrar usuarios como administrador.

Devise también aborda esto en su wiki .