在我的RoR3应用程序的'config / routes.rb'中,我有这段代码
resources :users
这样我就可以转到http://application.local/users/2
。
无论如何我想匹配它http://application.local/user/2
,但我不知道如何更改'routes.rb'来做到这一点。
有人能帮助我吗?
答案 0 :(得分:11)
Rails确实有singular resources但它们适用于只有一个记录/ id被引用的路由(例如/ profile以显示登录用户的个人资料)。
如果您需要普通资源(可以接受ID),那么您可以使用:path
来更改路线的外观:
resources :users, :path => "user"
会给你这些路线:
users GET /user(.:format) {:controller=>"users", :action=>"index"}
POST /user(.:format) {:controller=>"users", :action=>"create"}
new_user GET /user/new(.:format) {:controller=>"users", :action=>"new"}
edit_user GET /user/:id/edit(.:format) {:controller=>"users", :action=>"edit"}
user GET /user/:id(.:format) {:controller=>"users", :action=>"show"}
PUT /user/:id(.:format) {:controller=>"users", :action=>"update"}
DELETE /user/:id(.:format) {:controller=>"users", :action=>"destroy"}