В Rails, является ли стандарт RESTful, что GET для / users предназначен для действия индекса, а POST для / users для действия create? - PullRequest
0 голосов
/ 23 февраля 2011

Я смотрю на плагин Rails, и кажется, что для создания пользователя в HTML-форме написано

<form action="/users" method="post">

и если я сделаю

rake routes

это говорит:

users GET    /users(.:format)           {:controller=>"users", :action=>"index"}
      POST   /users(.:format)           {:controller=>"users", :action=>"create"}

так выглядит стандартно, что GET для /controller_name должен выполнять действие index, а POST для выполнения действия create? Это почти 100% стандарт? Есть ли исключения?

Ответы [ 2 ]

1 голос
/ 23 февраля 2011

Ответ на этот вопрос НЕТ

Маршруты рельсов настолько гибки, насколько вы можете себе представить.

НО .Rails любит стиль REST.Вы можете прочитать некоторые вики http://en.wikipedia.org/wiki/Representational_State_Transfer

REST, как CRUD: http://en.wikipedia.org/wiki/Create,_read,_update_and_delete

Итак.У нас есть соглашение о ресурсах.Мы можем:

  • ЧИТАТЬ список ресурсов: GET /resources
  • ЧИТАТЬ ресурс: GET /resources/:id
  • СОЗДАТЬ новый ресурс: POST /resources
  • ОБНОВЛЕНИЕ ресурса: PUT /resources/:id
  • УДАЛЕНИЕ ресурса: DELETE /resources/:id
  • ЧИТАТЬ ресурс для редактирования: GET /resources/:id/edit
  • ЧИТАТЬ для создания: GET /resources/new

Это основа ОТДЫХА.

1 голос
/ 23 февраля 2011

Это значение по умолчанию при использовании ресурсных маршрутов Rails.Конечно, вы можете переопределить это значение по умолчанию многими способами, как описано в этом руководстве , но вы должны делать это только по уважительной причине.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...