Приложение Rails, генерирующее параметризованные URL - PullRequest
0 голосов
/ 12 марта 2012

Я учусь на уроке saas и, выполняя домашнюю работу 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-адреса?

1 Ответ

1 голос
/ 12 марта 2012

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 (, как описано в railsguide ), но в противном случае вам может потребоваться параметр, или вы могли бы рассмотретьсортировка клиентской части данных с использованием javascript!

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

...