【问题标题】:Rails - Path is Routing to View but not seeing the path in RoutesRails - 路径正在路由到视图,但在 Routes 中看不到路径
【发布时间】:2017-05-01 19:46:13
【问题描述】:

我继承了一个 rails 应用程序,所以不知道某些东西是如何设置的。我的应用程序最初是使用注册表单设计的,但后来我删除了该功能。出于某种原因,当我转到 localhost:3000/users/sign_up 时,它仍然会加载该页面。我正在查看路线文件,但没有看到与此相关的任何内容。我相信他们为该应用程序使用了设计,我应该在其他地方寻找吗?我想将对 users/sign_up 的任何请求重定向到站点的根目录。

【问题讨论】:

  • 你能发布你的 routes.rb 文件吗?

标签: ruby-on-rails devise routes


【解决方案1】:

听起来您的应用正在使用默认的设计路线。如果您转到您的 routes.rb 文件,您应该会看到如下一行:

devise_for :users

这意味着 Devise 正在为您生成一堆默认路由。如果您在终端中输入rake routes,您会看到类似于以下内容:

new_user_session GET    /users/sign_in(.:format)     devise/sessions#new

这个和其他类似的用户路由是由 Devise 通过您的 routes.rb 文件中的devise_for :users 生成的。

如果您想自定义 Devise 为您设置的默认路由,您可以在 Devise 文档here 中找到一些有用的信息。他们为您提供了一个如何更改 /users/sign_in 路由的示例,如下所示:

devise_scope :user do
  get 'sign_in', to: 'devise/sessions#new'
end

只需更改 'devise/sessions#new' 以指向您要使用的任何控制器操作,如果您希望用户从主页登录,请说 'home#index'

【讨论】:

    猜你喜欢
    • 2018-07-07
    • 2012-04-07
    • 2014-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-27
    相关资源
    最近更新 更多