我对rails非常陌生,目前正在寻找一种掩盖URL的方法,以便它们更具可读性。
目前我将作业作为用户的嵌套资源,因此我的网址显示为:
localhost:3000/users/1/jobs/8
我希望将网址显示为简单的内容:
localhost:3000/jobs/8
很高兴知道如何将其集成到我的路线中以获得更多可读的URL。
提前感谢您的帮助!
答案 0 :(得分:3)
resources
方法有shallow
选项:
这样就可以将其他深层嵌套资源的网址(例如
/posts/a-long-permalink/comments/1234
等博文评论的网址缩短为/comments/1234
。
示例:
resources :users, :shallow => true do
resources :jobs
end
这会给你:
user_jobs GET /users/:user_id/jobs(.:format) jobs#index
POST /users/:user_id/jobs(.:format) jobs#create
new_user_job GET /users/:user_id/jobs/new(.:format) jobs#new
edit_job GET /jobs/:id/edit(.:format) jobs#edit
job GET /jobs/:id(.:format) jobs#show
PUT /jobs/:id(.:format) jobs#update
DELETE /jobs/:id(.:format) jobs#destroy