2012-07-03 2 views
0

Я довольно новичок в рельсах и в настоящее время ищут способ маскировки URL-адресов, чтобы они были более читабельными.Маскировка частей URL-рельсов

В настоящее время у меня есть работа в качестве вложенного ресурса пользователей и поэтому мой URL, показывают, как:

localhost:3000/users/1/jobs/8

Я хотел бы иметь URL-шоу как-то простое, как:

localhost:3000/jobs/8

Было бы здорово узнать, как я могу интегрировать это в свои маршруты, чтобы иметь более читаемые URL.

Заранее благодарим за любую помощь!

+0

Вы смотрели в файл routes.rb? – keymone

ответ

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