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

时间:2013-11-13 03:28:38

标签: ruby-on-rails ruby railstutorial.org

过去几天我一直在学习这个教程,最后在第7章遇到了麻烦。

在此step中,routes.rb中的行:

get "users/new"

替换为

resource :users

执行此操作后,访问

时出现路由错误
http://localhost:3000/users/1 - No route matches [GET] "/users/1"

而不是显示here.

中的其他“未知操作”错误

根据说明,我的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

'rake routes'的输出显示:

    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

有没有人有任何洞察力来解决这个问题?非常感谢。

1 个答案:

答案 0 :(得分:0)

我认为你应该使用resources :users

当您拥有唯一的资源来处理时,奇异路线最适合。 I.E. resource :profile,因为一个用户只有一个个人资料。