Search code examples
ruby-on-railsclearance

Clearance gem redirect issues


Hello I'am using clearance gem for user authentication.

So far everything works perfect, but I'am confused why even after setting the root routes for my pages index view, it still redirects me to the sign_in page of clearance gem.

I have looked at github documentation notes, and it list no other work around for this. I'am doing something wrong?

Here is what my routes.rb file looks like:

Rails.application.routes.draw do

resources :passwords, controller: "clearance/passwords", only: 
[:create, :new]
resource :session, controller: "clearance/sessions", only: [:create]

resources :users, controller: "clearance/users", only: [:create] do
resource :password,
  controller: "clearance/passwords",
  only: [:create, :edit, :update]
end

get "/sign_in" => "clearance/sessions#new", as: "sign_in"
delete "/sign_out" => "clearance/sessions#destroy", as: "sign_out"
get "/sign_up" => "clearance/users#new", as: "sign_up"


root 'pages#index'
# For details on the DSL available within this file, see 
http://guides.rubyonrails.org/routing.html
end

Solution

  • the clearance require_login before_action must be active for that route. Did you add that before action to application controller? Does PagesController inherit from ApplicationCobtroller? If so, you need to add skip_before_action :require_login to your pages controller. Perhaps scoped to the particular pages controller action you want unprotected.