2011-03-23 20 views
0

私はカスタム工夫コントローラを作成しよう:工夫カスタム登録コントローラエラー

class RegistrationsController < Devise::RegistrationsController 
    def new 
    super 
    end 

    def create 
    # add custom create logic here 
    end 

    def update 
    super 
    end 
end 

私は次のエラーを取得:

不明アクション

AbstractController :: ActionNotFound

それをルートに関する問題ではありません。私はApplicationControllerからRegistrationsControllerを継承しようとしましたが正常に動作します。 Devise :: RegistrationsControllerから継承しようとすると、エラーが表示されます。私は別のアクションを作成しようとしたため、アクションの問題にはなりません。同じエラーが発生します。

# app/config/routes.rb 
devise_for :users, :controllers => {:registrations => "registrations"} 
root :to => "registrations#new" 

使用して、レール

+0

はあなたをしましたrespond_toブロックを追加しようとしていますか? –

答えて

1

3.0.4は、私は正常に私のプロジェクトに次のコードを使用:あなたのルートで

app/controllers/users/registrations_controller.rb 
class Users::RegistrationsController < Devise::RegistrationsController 
end 

routes.rb 
devise_for :users, :controllers => { :registrations => "users/registrations" } 
+0

これは、ユーザーの名前空間を使用している場合に当てはまります。 – dombesz

+0

私は名前空間で同じ問題を抱えていました。 – Janjiss

3

はあなたがデフォルトアクションを工夫オーバーライドしている場合devise_scopeを使用する必要があります。同様の問題については

devise_for :users, :controllers => {:registrations => "registrations"} 
devise_scope :user do 
    root :to => "registrations#new" 
end 

また、ここではルートでデフォルトの符号を変える上のドキュメントがあるhttp://groups.google.com/group/plataformatec-devise/browse_thread/thread/a5beaaf4b1ad343a

を参照してください、私はあなたが登録を行っているこのことを知っているが、これは同様の可能性:https://github.com/plataformatec/devise/wiki/How-To:-Change-the-default-sign_in-and-sign_out-routes

+0

ありがとう、私はそれをチェックします – Janjiss