我正在与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)>'
答案 0 :(得分:1)
@Brian是正确的它会起作用,但是你希望你的代码只需要改变:
class AccountsController::RegistrationsController < Devise::RegistrationsController
为:
class Accounts::RegistrationsController < Devise::RegistrationsController
然后在控制器文件夹中创建一个帐户文件夹,并将此文件放在该文件夹中。
答案 1 :(得分:0)
我的情况略有不同,但这解决了这个问题。 Override devise registrations controller
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