0

我正在与 Devise 合作,我正在尝试覆盖注册控制器。

我一直关注这里的帖子,但没有运气。

这就是我所拥有的:

 class AccountsController::RegistrationsController < Devise::RegistrationsController
  def new
    super
  end
 end

   devise_for :accounts, :controllers => {:registrations => "accounts/registrations"} do
     get "welcome" => "accounts#new", :as => :new_account
   end

我还在视图中创建了一个帐户文件夹并添加了新视图。

我收到以下错误:

 app/controllers/accounts_controller.rb:1:in `<top (required)>'
4

2 回答 2

1

@Brian 是正确的,它会工作,但你希望你的代码必须工作只是改变:

class AccountsController::RegistrationsController < Devise::RegistrationsController

至:

class Accounts::RegistrationsController < Devise::RegistrationsController

然后在控制器文件夹中创建一个帐户文件夹并将此文件放置到该文件夹​​中。

于 2012-08-21T07:12:42.053 回答
0

我的有点不同,但这解决了问题。覆盖设计注册控制器

  class RegistrationsController < Devise::RegistrationsController
def new
    @test = "test"
    super
end
  end

我将以下内容添加到我的视图registrations/new.html.erb

然后:

  devise_for :accounts, :controllers => {:registrations => "registrations"} do
  get "welcome" => "registrations#new", :as => :new_account
  end
于 2012-08-20T22:29:03.367 回答