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 に答える