我对 Rails 相当陌生,目前正在寻找一种方法来掩盖 URL,以便它们更具可读性。
目前我有工作作为用户的嵌套资源,所以我的 URL 显示为:
localhost:3000/users/1/jobs/8
我希望将 URL 显示为简单的内容,例如:
localhost:3000/jobs/8
很高兴知道如何将其集成到我的路线中以获得更具可读性的 URL。
提前感谢您的帮助!
我对 Rails 相当陌生,目前正在寻找一种方法来掩盖 URL,以便它们更具可读性。
目前我有工作作为用户的嵌套资源,所以我的 URL 显示为:
localhost:3000/users/1/jobs/8
我希望将 URL 显示为简单的内容,例如:
localhost:3000/jobs/8
很高兴知道如何将其集成到我的路线中以获得更具可读性的 URL。
提前感谢您的帮助!
该resources
方法有一个shallow
选项:
这允许将深度嵌套的资源的 URL(例如对博客文章的评论)
/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