设计自定义路线滑坡

时间:2012-01-17 05:08:37

标签: ruby-on-rails ruby ruby-on-rails-3 routing devise

我开始使用自定义路由w / Devise,这样我就可以将“登录”和“注册”路由转到同一页面。但是,只要我遵循Devise关于自定义路由的说明,就必须明确指定每条路由。这已经破坏了我的重置密码链接,因为该部分由Devise处理。

我在这里做错了什么?您可以在下面看到我必须为User和UserSessions模型拼出所有内容。我不应该只指定我想要改变的那些吗?

devise_for :users, :controllers => { :sessions => "user_sessions" ,:registrations=>"users"},:skip => [:sessions] do

 get 'users/sign_in' => 'user_sessions#new', :as => :new_user_session
 get 'users/sign_up' => 'user_sessions#new', :as => :new_user_session
 post 'users/sign_in' => 'user_sessions#create', :as => :user_session
 post 'user_sessions' => 'user_sessions#create', :as => :app_sign_in
 delete 'users/sign_out' => 'user_sessions#destroy', :as => :destroy_user_session
 get 'users/sign_out' => 'user_sessions#destroy', :as => :destroy_user_session
 post 'users/:id' => 'users#update', :as =>:update_user
 get 'users' => 'users#index'
 get 'users/:id/edit' => 'users#edit', :as => :edit_user
 get 'users/:id' => 'users#show', :as => :show_user
 delete 'users/:id' => 'users#destroy', :as => :destroy_user

end 

1 个答案:

答案 0 :(得分:0)

你可以使用,不确定这是否适合你

   devise_for :users
   devise_for :users do
     get '/users/sign_out' => 'devise/sessions#destroy'
   end