Ruby on rails Can';t覆盖设计::Rails中的注册控制器?

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

我试图在用户登录和注册后设置默认行为

我已尝试使用以下代码创建registration_controller.rb:

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