【问题标题】:Ruby on Rails - User Devise RoutingRuby on Rails - 用户设计路由
【发布时间】:2017-01-17 23:31:35
【问题描述】:

我在使用 Devise 和我的 Users 模型进行路由时遇到问题。我试图让sign_out 工作,并找到了一个建议这一点的答案。

// 路由.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] "/users/1"

但是,如果我添加回resources :users,我会遇到第一个问题,即sign_outsign_in 尝试查看User

Couldn't find User with 'id'=sign_out

如何将/users/index 添加到devise_for 循环中?

感谢您的帮助。

【问题讨论】:

  • 尝试使用delete 而不是get 登录。

标签: ruby-on-rails ruby devise ruby-on-rails-5


【解决方案1】:

尝试在 devise_for 块之后添加 resources :users

您还可以使用以下内容:

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

【讨论】:

  • 我在 devise_for 块之前有 resources :users。在块解决我的问题之后移动它。虽然,使用第二个建议似乎不起作用,但遇到与以前相同的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-17
相关资源
最近更新 更多