Ruby on rails 您正在被重定向。轨道5+;设计
我的rails应用程序在开发模式下成功注销用户并重定向到about页面。但当我将其部署到生产环境时,它会返回302状态和一个显示“正在重定向”的页面。我正在使用Desive进行身份验证,下面是我的代码的实际外观 路线Ruby on rails 您正在被重定向。轨道5+;设计,ruby-on-rails,devise,Ruby On Rails,Devise,我的rails应用程序在开发模式下成功注销用户并重定向到about页面。但当我将其部署到生产环境时,它会返回302状态和一个显示“正在重定向”的页面。我正在使用Desive进行身份验证,下面是我的代码的实际外观 路线 Rails.application.routes.draw do devise_for :users, controllers: { registrations: "users/registrations", confirmations: "users/confirmatio
Rails.application.routes.draw do
devise_for :users, controllers: { registrations: "users/registrations", confirmations: "users/confirmations", sessions: "devise/sessions" }, skip: [:sessions]
devise_scope :user do
get "login" => "devise/sessions#new", as: :new_user_session
post "login" => "devise/sessions#create", as: :user_session
get "/join" => "users/registrations#new", as: :join
get '/logout', to: "devise/sessions#destroy", as: :destroy_user_session
end
resources :companies
get "/about", to: "pages#about"
get "/faq", to: "pages#faq"
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
root 'pages#home'
end
我的应用程序\u controller.rb
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
include SessionsHelper
protected
def after_sign_in_path_for(resource)
company_path(resource)
end
def after_sign_out_path_for(resource_or_scope)
"/about"
end
def store_location
session[:return_to] == request.full_path
end
def clear_stored_location
session[:return_to] = nil
end
def redirect_back_or_to(alternate)
redirect_to(session[:return_to] || alternate)
clear_stored_location
end
end
class ApplicationController
最后是我要注销的链接
<%= link_to "Log out", destroy_user_session_path %>
请注意,我正在使用Desive 4.2.0和capistrano进行部署
问候
~我必须覆盖Desive sessions#controller并将我的路由更改为:
delete 'logout', to: "users/sessions#destroy", as: :destroy_user_session
然后我在我的链接中添加了delete方法以进行注销。您可以添加
routes.rb的全部内容吗