2017-01-17 159 views
0

我遇到了使用Devise和我的Users模型進行路由的問題。我試圖讓sign_out工作,並找到了一個答案,這表明了這一點。Ruby on Rails - 用戶設計路由

// routes.rb中

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

雖然這個工程的註銷,如果我使用只是因爲我無法查看User

No route matches [GET] "https://stackoverflow.com/users/1"

但是,如果我加回resources :users,我遇到了第一個問題,即sign_outsign_in嘗試查看User

Couldn't find User with 'id'=sign_out

如何添加/users/indexdevise_for循環?

感謝您的幫助。

+0

嘗試使用'delete',而不是'上SIGN_OUT GET'。 –

回答

1

嘗試的devise_for塊之後加入resources :users

您也可以使用以下方法:

devise_for :users, path: '', path_names: { sign_in: 'login', sign_out: 'logout'} 
+0

我在'devise_for'塊之前有'resources:users'。在塊修復我的問題後移動它。雖然使用第二個建議似乎並不奏效,但仍然遇到與以前一樣的問題。 –