How do I remove the Devise route to sign up?

后端 未结 15 2369
佛祖请我去吃肉
佛祖请我去吃肉 2020-12-07 07:36

I\'m using Devise in a Rails 3 app, but in this case, a user must be created by an existing user, who determines what permissions he/she will have.

Because of this, I

15条回答
  •  一向
    一向 (楼主)
    2020-12-07 08:33

    Here's the slightly different route I went. It makes it so you don't have to override the devise/shared/_links.html.erb view.

    In app/models/user.rb:

    devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable
    

    In config/routes.rb:

    devise_for :users
    devise_scope :user do
      put 'users' => 'devise/registrations#update', as: 'user_registration'
      get 'users/edit' => 'devise/registrations#edit', as: 'edit_user_registration'
      delete 'users' => 'devise/registrations#destroy', as: 'registration'
    end
    

    Before:

    $ rake routes | grep devise
               new_user_session GET    /users/sign_in(.:format)                    devise/sessions#new
                   user_session POST   /users/sign_in(.:format)                    devise/sessions#create
           destroy_user_session DELETE /users/sign_out(.:format)                   devise/sessions#destroy
                  user_password POST   /users/password(.:format)                   devise/passwords#create
              new_user_password GET    /users/password/new(.:format)               devise/passwords#new
             edit_user_password GET    /users/password/edit(.:format)              devise/passwords#edit
                                PATCH  /users/password(.:format)                   devise/passwords#update
                                PUT    /users/password(.:format)                   devise/passwords#update
       cancel_user_registration GET    /users/cancel(.:format)                     devise/registrations#cancel
              user_registration POST   /users(.:format)                            devise/registrations#create
          new_user_registration GET    /users/sign_up(.:format)                    devise/registrations#new
         edit_user_registration GET    /users/edit(.:format)                       devise/registrations#edit
                                PATCH  /users(.:format)                            devise/registrations#update
                                PUT    /users(.:format)                            devise/registrations#update
                                DELETE /users(.:format)                            devise/registrations#destroy
    

    After:

    $ rake routes | grep devise
               new_user_session GET    /users/sign_in(.:format)                    devise/sessions#new
                   user_session POST   /users/sign_in(.:format)                    devise/sessions#create
           destroy_user_session DELETE /users/sign_out(.:format)                   devise/sessions#destroy
                  user_password POST   /users/password(.:format)                   devise/passwords#create
              new_user_password GET    /users/password/new(.:format)               devise/passwords#new
             edit_user_password GET    /users/password/edit(.:format)              devise/passwords#edit
                                PATCH  /users/password(.:format)                   devise/passwords#update
                                PUT    /users/password(.:format)                   devise/passwords#update
              user_registration PUT    /users(.:format)                            devise/registrations#update
         edit_user_registration GET    /users/edit(.:format)                       devise/registrations#edit
                   registration DELETE /users(.:format)                            devise/registrations#destroy
    

提交回复
热议问题