2012-03-12 3 views
0

Я беру класс сааса, а при выполнении домашней работы 2 приложение rails генерирует параметризованные URL-адреса, такие как http://localhost:3000/movies?sort=title.

Однако другие URL-адреса на странице похожи на http://localhost:3000/movies/new или http://localhost:3000/movies/1. Мне интересно, почему сортировка не разрешена как спокойный URL-адрес, например/movies/sort/title.

И когда мы создаем спокойные URL-адреса и когда использовать параметризованные URL-адреса?Rails app генерирует параметризованные URL-адреса

ответ

1

REST (используется Rails) работает с ресурсами. В частности, он использует HTTP-глаголы (GET, POST, PUT, DELETE) для работы с ресурсами.

Предположим, у вас была модель фильма. Вы можете иметь ресурс фильмов, которые будут определять следующие маршруты:

GET '/movies' - Gets a list of movies 
GET '/movies/new' - Gets the form to create a new movie 
POST '/movies' - Creates a new movie 
GET '/movies/:id' - Gets the details about the movie with :id 
GET '/movies/:id/edit' - Edits the movie with :id 
DELETE '/movies/:id' - Deletes the movie with :id 
PUT '/movies/:id' - Updates the movie with :id 

Сортировка с другой стороны, является способом обеспечения рельсов с дополнительной информацией по запросу. Итак, если вы собираетесь делать CRUD-действия на модели или ресурсе, вы должны использовать RESTful-маршрутизацию (as described by the railsguide), но в противном случае вам может понадобиться параметр или вы можете рассмотреть возможность сортировки своей клиентской стороны данных с помощью javascript!

Обратите внимание, что вам ничего не мешает вам реализовать маршрут, например '/movies/sort/title', он просто не является маршрутом RESTful и требует настраиваемых маршрутов в вашем файле routes.rb. Просто прочитайте railsguide, который я связал выше для полной истории.

Смежные вопросы