1

您好,我正在使用清除 gem 进行用户身份验证。

到目前为止,一切都很完美,但我很困惑为什么即使在为我的页面索引视图设置了根路由之后,它仍然会将我重定向到清除 gem 的登录页面。

我查看了 github 文档说明,它没有列出其他解决方法。我做错了什么?

这是我的 routes.rb 文件的样子:

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
4

1 回答 1

2

该路线的清除require_loginbefore_action 必须处于活动状态。您是否在操作之前将其添加到应用程序控制器?PagesController 是否继承自 ApplicationCobtroller?如果是这样,您需要添加skip_before_action :require_login到您的页面控制器。可能仅限于您希望不受保护的特定页面控制器操作。

于 2017-05-15T12:39:45.873 回答