过去几天我一直在学习这个教程,最后在第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
有没有人有任何洞察力来解决这个问题?非常感谢。
答案 0 :(得分:0)
我认为你应该使用resources :users
。
当您拥有唯一的资源来处理时,奇异路线最适合。 I.E. resource :profile
,因为一个用户只有一个个人资料。