2012-07-10 40 views
0

我的設計設置在以前工作正常,但現在,由於某種原因,每當我嘗試註冊一個新用戶時,它試圖調用用戶#創建而不是註冊#創建。我認爲這對我的routes.rb文件來說肯定是個問題。我最近增加了一個新的資源,「喜好」,我的應用程序,所以路由可能是靠不住的:設計路由錯誤:「Unknown action - 找不到ActionController的動作'

Indexer2::Application.routes.draw do 
    resources :preferences 

    get "home/index" 

    resources :posts 
    resources :users 

    devise_for :users, :controllers => {:registrations => 'registrations', :invitations => 'invitations'}, :except => [:show] do 
    get "/signup" => "devise/registrations#new", :as => 'user_signup' 
    get '/logout' => 'devise/sessions#destroy', :as => 'user_logout' 
    get '/login' => "devise/sessions#new", :as => 'user_login' 
    end 

    match '/welcome' => 'pages#welcome' 

    resources :preferences, :except => [:destory, :edit, :create, :new, :index, :show] do 
    collection do 
     post "make_feed_preference" 
     post "change_preference" 
    end 
    end 

    root :to => "home#index" 

end 

回答

2

UsersController應該有create方法。 如果你不想寫自己的註冊邏輯只是做繼承自Devise::RegistrationsController < DeviseController

controller UsersController < Devise::RegistrationsController 
     #.... 
end 

這將包括默認的設計方法。

+0

這似乎並沒有工作,反正,似乎我的問題是,應用程序想要調用用戶#創建,但我希望它調用註冊#創建。 – kyothine 2012-07-10 13:52:47

+0

哦,檢查什麼打印'耙路線',有登錄路線? (註冊#新和註冊#創建) – rogal111 2012-07-10 13:56:26

+2

並檢查如果您在routes.rb中註釋'resources:users'會發生什麼情況,這可能與'devise_for:users'衝突。 – rogal111 2012-07-10 13:59:47

相關問題