2012-07-10 51 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

相关问题