Devise: Sign Up Page as Welcome/Landing Page then to User Profile

后端 未结 5 702
佛祖请我去吃肉
佛祖请我去吃肉 2021-02-01 08:57

Using devise, how do i make my Sign Up as my landing/welcome page and then after sign up they go inside the site to the Profile/signed in area?

I am trying to figure out

5条回答
  •  梦如初夏
    2021-02-01 09:19

    This my new and updated way using Rails 3.1.0 and Devise 1.5.0:

    routes.rb

    root :to => "pages#redirect_to_sign_up"
    
    devise_for :users do
      get "welcome" => "devise/registrations#new", :as => :new_user_registration
      get "account_settings" => "devise/registrations#edit"
      get "sign_in" => "devise/sessions#new"
      get "sign_out" => "devise/sessions#destroy"
      get "new_password", :to => "devise/passwords#new"
    end
    
    match 'home',      :to => "user_pages#home"
    
    namespace :user do
      root :to => "user_pages#home"
    end
    

    application_controller.rb

    class ApplicationController < ActionController::Base
      protect_from_forgery
    
      protected
    
      def after_sign_in_path_for(resource)
        stored_location_for(:user) || root_path
      end
    
      private
    
      def after_sign_out_path_for(resource)
        stored_location_for(:user) || root_path
      end
    end
    

    pages_controller.rb

    class PagesController < ApplicationController
      def redirect_to_sign_up
        if signed_in?.blank?
          redirect_to new_user_registration_path
        else
          redirect_to home_path
        end
      end
    end
    

    user_pages_controller.rb

    class UserPagesController < ApplicationController
      before_filter :authenticate_user!
    
      def home
      end
    
      def profile
      end
    end
    

提交回复
热议问题