我是 Rails 新手,我正在使用“devise”gem 进行身份验证。
首先,我通过默认注册页面添加一个新用户(例如/users/sign_up)
然后,我按照以下说明将“sign_up”页面设置为仅对符号用户可用
在过滤器之前设计阻止访问“new_user_registration_path”,除非用户已登录 https://stackoverflow.com/questions/4213006/devise-before-filter-that-prevents-access-to-new-user-registration-path-unless
现在,在登录过程之后,当我尝试打开注册页面时,它总是将我定向到 root_path!我如何访问注册页面?
我的“roots.rb”文件如下:
Example::Application.routes.draw do
devise_for :users, :controllers => { :registrations => 'registrations'}
resources :companies
resources :orders
resources :customers
root :to => "welcome#index"
end
谢谢你们!
我还有其他决定。比特佐特 说
正如您在设计源中看到的,如果您导航到sign_up,它会执行before_filter require_no_authentication,并且这会重定向到您可以在此处找到的根路径。
您不需要覆盖registration_controller,您可以仅更改与原始registration_controller 相匹配的自定义registration_controller。
class Admin::RegistrationsController < Devise::RegistrationsController
layout 'admin'
prepend_before_filter :require_no_authentication, :only => []
prepend_before_filter :authenticate_scope!
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)