Ruby on rails Can';t覆盖设计::Rails中的注册控制器?
我试图在用户登录和注册后设置默认行为 我已尝试使用以下代码创建registration_controller.rb:Ruby on rails Can';t覆盖设计::Rails中的注册控制器?,ruby-on-rails,ruby,path,devise,registration,Ruby On Rails,Ruby,Path,Devise,Registration,我试图在用户登录和注册后设置默认行为 我已尝试使用以下代码创建registration_controller.rb: class RegistrationsController < Devise::RegistrationsController protected def after_sign_up_path_for(resource) "/projects" end def after_sign_in_path_for(resource
class RegistrationsController < Devise::RegistrationsController
protected
def after_sign_up_path_for(resource)
"/projects"
end
def after_sign_in_path_for(resource)
raise
"/projects"
end
end
但是我想知道为什么我没有覆盖默认的RegistrationController类。根据Deavise文档,您可以通过运行rails generate Deavise:Controller[scope]来自定义其配置,例如,将scope替换为
用户
然后生成如下文件:
class Users::RegistrationsController < Devise::RegistrationsController
# GET /resource/sign_in
# def new
# super
# end
...
end
类用户::注册控制器<设计::注册控制器
#获取/资源/登录\u
#def新
#超级
#结束
...
结束
您可以取消对所需方法的注释,并在super
之后编写代码。如果将super
添加到注册控制器的顶部,就在类注册控制器
下,是否有效?谢谢!我实际上是手动创建了控制器,而不是通过运行console命令。我还没有为覆盖的控制器添加自定义路由。
class Users::RegistrationsController < Devise::RegistrationsController
# GET /resource/sign_in
# def new
# super
# end
...
end