代码之家  ›  专栏  ›  技术社区  ›  Sam Soffes Jolly Roger

如何覆盖designe 1.1.rc2控制器?

  •  0
  • Sam Soffes Jolly Roger  · 技术社区  · 15 年前

    RegistrationsController 控制器,然后将我的路线设置为如下所示:

    devise_for :users, :path_names => { :sign_in => 'signin', :sign_out => 'signout', :sign_up => 'signup' }
    match 'signin', :to => 'devise/sessions#new', :as => "new_user_session"
    match 'signout', :to  => 'devise/sessions#destroy', :as => "destroy_user_session"
    match 'signup(.:format)', :to => 'registrations#new', :as => "new_user_registration"
    

    我的 in-app/controllers/registrations\u controller.rb如下所示:

    class RegistrationsController < Devise::RegistrationsController
      prepend_view_path "app/views/devise"
      def create
        # My custom implementation
      end
    end
    

    不管格式如何,它总是抛出以下错误

    AbstractController::ActionNotFound (AbstractController::ActionNotFound):
    /usr/local/Cellar/Gems/1.8/gems/devise-1.1.rc2/lib/devise/controllers/internal_helpers.rb:57:in `is_devise_resource?'
    ...
    

    1 回复  |  直到 15 年前
        1
  •  1
  •   Sam Soffes Jolly Roger    15 年前

    我想出来了!我试图覆盖注册控制器中的创建,但没有路由到它。。。愚蠢的错误。

    devise_for :users, :path_names => { :sign_in => 'signin', :sign_out => 'signout', :sign_up => 'signup' }, :controllers => { :registrations => "registrations" }
    match 'signin', :to => 'devise/sessions#new', :as => "new_user_session"
    match 'signout', :to  => 'devise/sessions#destroy', :as => "destroy_user_session"
    get 'signup', :to => 'registrations#new', :as => "new_user_registration"
    post 'signup(.:format)', :to => 'registrations#create', :as => "create_user_registration"