2017-01-17 113 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'。在块修复我的问题后移动它。虽然使用第二个建议似乎并不奏效,但仍然遇到与以前一样的问题。 –