Button_to с опцией GET метода в Rails
У меня есть следующая кнопка, которую я перезаписал для генерации запроса GET:
= button_to "Tutor", {:controller => "appointments", :action => "new",
:listing_id => @listing.id} , :method => :get
Тем не менее, я все еще получаю запрос POST с дополнительными параметрами: method:
Processing by AppointmentsController#new as HTML
Parameters: {"authenticity_token"=>"AWkL", "listing_id"=>"2", "method"=>"get"}
Я мой файл маршрутов, у меня есть:
resources :appointments
Что я сделал неправильно?
Спасибо.
Ответы
Ответ 1
Кнопки не должны отправлять запросы GET
.
Вместо этого следует использовать link_to
. Если вы хотите, чтобы он выглядел как кнопка, примените CSS. Вот хорошая статья: http://coding.smashingmagazine.com/2009/11/18/designing-css-buttons-techniques-and-resources/
Ответ 2
Просто используйте метод: и : получите
button_to "New User", new_user_path, method: :get
Ответ 3
Вы можете посмотреть код драйвера UJS:
a\[data-method\]
- это селектор, используемый здесь:
Итак, следующее должно работать (не могло действительно проверить его):
button_to "Tutor", {...}, :html => { "data-method" => "get" }