Мой вопрос: при использовании AJAX в Rails, с точки зрения передового опыта, имеет ли значение глагол HTML, который я использую (например, get
), чтобы определить маршрут?Можно ли в принципе всегда использовать get
?
Контекст: в моем приложении Rails я построил следующее:
- Когда пользователь выбирает флажок HTML, это вызываетслушатель JQuery, который находится в файле внутри
/app/assets/javascripts
. - . Этот
.js
файл вызывает AJAX-вызов контроллера / действия: foos#bar
.Мой JS передает идентификатор в действие. - Чтобы направить этот запрос, я добавил следующее к
routes.rb
: get "/foos/bar" => "foos#bar"
.Это сообщает моему приложению, какой контроллер / действие должно обрабатывать вызов AJAX. - Контроллер / действие прекрасно обрабатывает этот запрос.Действие захватывает идентификатор в качестве параметра URL, обновляет соответствующий объект модели и, наконец, возвращает
200
вызывающей стороне JS AJAX.
Все это прекрасно работает!Никаких проблем - здесь ничего не нужно устранять.
Мой вопрос таков: в приведенном выше примере уместно ли определить get
маршрут в routes.rb
для обработки этого AJAX-запроса?Или это плохая практика?Должен ли я вместо этого определять put
, поскольку концептуально это то, что я делаю в этом рабочем процессе (то есть я обновляю существующий объект)?Я обеспокоен тем, что, хотя все это работает отлично, я нарушаю некоторые фундаментальные стандарты маршрутизации MVC.