将用户重定向至注册

2024-02-26

Using before_action :authenticate_user!检查用户是否登录。但它会将用户发送到login代替signup.

尝试了不同的方式来引导用户signup代替login,但他们不注册成功后将用户返回原始页面.

如何让用户进行注册并随后将用户引导回原始页面?

尝试:

before_filter :auth_user

def auth_user
  redirect_to new_user_registration_url unless user_signed_in?
end

路线文件

Rails.application.routes.draw do
  devise_for :installs
  resources :orders
  resources :products
  devise_for :users

  get 'dashboard' => 'pages#dashboard'
  get 'contact' => 'pages#contact'
  get 'cart' => 'carts#index'

  root 'pages#home'

您正在寻找的是referer http://apidock.com/rails/Rack/Request/referer。 让您的 before_filter 工作,您可以覆盖 Devise 的after_sign_up_path_for:

def after_sign_up_path_for(user)
  request.referer
end

EDIT

Since request.referer不知何故不起作用,我认为你可以采用基于会话的解决方案:

def auth_user
  session[:before_sign_up_path] = request.fullpath
  redirect_to new_user_registration_url unless user_signed_in?
end

def after_sign_up_path_for(user)
  session[:before_sign_up_path]
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将用户重定向至注册 的相关文章

随机推荐