Saltar al contenido

Cómo quitar/deshabilitar el registro desde Devise

Nuestros mejores desarrolladores agotaron sus provisiones de café, en su búsqueda todo el tiempo por la resolución, hasta que Joel halló el resultado en Beanstalk por lo tanto en este momento la comparte aquí.

Solución:

La forma más fácil es simplemente eliminar :registerable módulo de diseño de la lista predeterminada definida en su modelo (el nombre de clase utilizado para los usuarios de la aplicación, generalmente Usuario).

class User < ActiveRecord::Base
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  ...
end

Entonces lo tendrás así:

class User < ActiveRecord::Base
  devise :database_authenticatable,
         :recoverable, :rememberable, :trackable, :validatable

  ...
end

Solución para eliminar la ruta sign_up de Devise

Introduzca lo siguiente al principio de routes.rb

Rails.application.routes.draw do
  devise_scope :user do
    get "/sign_in" => "devise/sessions#new" # custom path to login/sign_in
    get "/sign_up" => "devise/registrations#new", as: "new_user_registration" # custom path to sign_up/registration
  end

...Después de la declaración anterior, agregue lo siguiente a continuación en routes.rb

devise_for :users, :skip => [:registrations] 
  as :user do
  get 'users/edit' => 'devise/registrations#edit', :as => 'edit_user_registration'
  put 'users' => 'devise/registrations#update', :as => 'user_registration'
  end

Esto eliminará/deshabilitará el user/sign_up camino para Devise sin romper edit_user_registration_path

Reinicie su servidor Rails y debería funcionar.

Ya que como es solo un alias para diseñar_alcancepuedes poner todo eso en un solo bloque.

devise_for :users, skip: [:registrations]
as :user do
  get "/sign_in" => "devise/sessions#new" # custom path to login/sign_in
  get "/sign_up" => "devise/registrations#new", as: "new_user_registration" # custom path to sign_up/registration
  get 'users/edit' => 'devise/registrations#edit', :as => 'edit_user_registration'
  put 'users' => 'devise/registrations#update', :as => 'user_registration'
end

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *