繁体   English   中英

Ruby on Rails教程的7.1.2章中的路由错误

[英]Routing Error in Chapter 7.1.2 of the Ruby on Rails Tutorial

在过去的几天中,我一直在研究本教程,最后在第七章遇到了麻烦。

在此步骤中,routes.rb中的行:

get "users/new"

被替换为

resource :users

完成此操作后,我在访问时收到路由错误

http://localhost:3000/users/1 - No route matches [GET] "/users/1"

而不是此处显示的其他“未知动作”错误

按照说明,我的routes.db文件如下所示:

SampleApp::Application.routes.draw do
  resource :users
  root "static_pages#home"
  match '/signup',  to: 'users#new',            via: 'get'
  match '/help',    to: 'static_pages#help',    via: 'get'
  match '/about',   to: 'static_pages#about',   via: 'get'
  match '/contact', to: 'static_pages#contact', via: 'get'
end

“耙路”的输出显示:

    Prefix Verb   URI Pattern           Controller#Action
     users POST   /users(.:format)      users#create
 new_users GET    /users/new(.:format)  users#new
edit_users GET    /users/edit(.:format) users#edit
           GET    /users(.:format)      users#show
           PATCH  /users(.:format)      users#update
           PUT    /users(.:format)      users#update
           DELETE /users(.:format)      users#destroy
      root GET    /                     static_pages#home
    signup GET    /signup(.:format)     users#new
      help GET    /help(.:format)       static_pages#help
     about GET    /about(.:format)      static_pages#about
   contact GET    /contact(.:format)    static_pages#contact

有人有什么见识可以克服吗? 非常感谢。

我认为您应该使用resources :users

当您只有一种资源要处理时,单一路径最适合。 IE resource :profile因为一个用户只有一个配置文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM