0

私はレールにかなり慣れていないので、現在、URLをマスクして読みやすくする方法を探しています。

現在、ユーザーのネストされたリソースとしてジョブを持っているため、URL は次のように表示されます。

localhost:3000/users/1/jobs/8

URL を次のような単純なものとして表示したいと思います。

localhost:3000/jobs/8

これをルートに統合して、より読みやすい URL にする方法を知っておくとよいでしょう。

助けてくれてありがとう!

4

1 に答える 1

3

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
于 2012-07-03T08:29:16.717 に答える