我在哪里可以找到设计控制器?

时间:2014-07-25 22:22:53

标签: ruby-on-rails devise

我尝试将此帖子(Devise update user without password)用于不需要插入密码以更新信息的用户。 但是,我很困惑这个控制器在哪里。设计不要在我的app/controller文件夹中创建任何控制器。我在所有文件夹中搜索但我找不到。

我那个控制器在哪里? 我看到帖子谈论创建一个新的控制器,但我只想修改一些小东西。

2 个答案:

答案 0 :(得分:1)

您不编辑(或不应该)Devise控制器。相反,您可以从Devise控制器创建自己的控制器和固有控制器。

# app/controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
  def new
    super
  end

  def update
    # add custom update logic here
  end
end

请注意RegistrationsControllerDevise::RegistrationsController的影响。现在您可以覆盖注册方法(或修改它们并调用super)。甚至关于覆盖设计默认行为的page you are referencing也依赖于类继承。

答案 1 :(得分:0)

JTG提供了很好的建议,你不应该直接编辑gem。作为这个问题的更直接的答案:

要打印宝石的文件夹:

$ bundle show devise

在文本编辑器中打开gem(确保不要更改任何内容)

$ bundle open devise