【问题标题】:Change the default Devise GET user path更改默认的 Devise GET 用户路径
【发布时间】:2016-04-18 20:35:36
【问题描述】:

我想从以下位置更改某些用户(在本例中为 id = 1)信息的默认路径:

domain.com/user.1

domain.com/user/1

我已经在我的 route.rb 上使用了devise_for,是否有一些特殊的命令来做我需要的?


这是我的route.rb

devise_for :users,
    :path => '',
    :path_names => {
        :sign_in => 'login',
        :sign_out => 'logout',
        :sign_up => 'register'
    },
    :controllers => { registrations: 'registrations' }

【问题讨论】:

    标签: ruby-on-rails devise routes ruby-on-rails-3.2


    【解决方案1】:

    首先,domain.com/user.1 在我看来并不是一条真正的路线。当您打算拨打user_path(id) 时,您确定不是拨打users_path(id) 吗?

    另外,user/:id 路由看起来与 Devise 没有任何关系,它与身份验证/授权有关。它看起来更像是 UsersController#show 中的显示资源方法。

    在任何情况下,以下路由都应该为您提供映射到 UsersController#show/user/:id 路由

    resources :user
    

    这将创建以下路由辅助方法:

    user_path(id)
    

    【讨论】:

    • 好吧,也许我对 Devise-UserController 的工作有点困惑。你已经清除了这些想法!谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多