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(使用前将#替换为@)