Использование Ruby 2.5.1 / Rails 5.2.4.1 Я создал новое приложение Rails и отредактировал / создал следующие файлы:
# config/routes.rb
Rails.application.routes.draw do
root 'some#home'
post 'foo' => 'some#foo'
end
# app/controllers/some_controller.rb
class SomeController < ApplicationController
def foo; end
end
# app/views/some/home.html.erb
<%= link_to 'Do stuff', foo_path, method: :post %>
Если я нажму эту ссылку как правило, он делает запрос POST и дает успешный ответ (204), как и ожидалось.
Если я щелкну, чтобы открыть его на новой вкладке (средний щелчок / щелчок правой кнопкой мыши и «Открыть ссылку на новой вкладке») , он делает запрос GET и выдает 404 / RoutingError.
Это различное поведение в зависимости от того, как я открываю (что пользователь считает по умолчанию) нормальной ссылкой, кажется удивительным - это ожидаемое поведение? Я предполагаю, что это как-то связано с этой ссылкой, использующей Rails U JS, и это ведет себя иначе, когда открывается новая вкладка? Как лучше всего в Rails получить (как выглядит) ссылку, которая создает POST, независимо от того, как он открывается?