2017-02-22 26 views
0

Я пытаюсь создать действие обновления ajax с простой формой, и я не знаю, почему браузер запускает запрос «получить» вместо «патча».Rails ajax post с простой формой: зачем нужен запрос GET?

На мой взгляд, у меня есть

= simple_form_for current_user, url: certificate_webex_employee_path(current_user), remote: true, html: { class: 'edit-profile' }, defaults: { label: false } do |f| 
      .form-body 
      .form-group.row 
       .col-md-12{style: 'color: black'} 
       = f.input_field :webex_certification_code, class: "form-control" 

Мой routes.rb

resources :users, controller: 'employees', path: 'employees', as: 'employees', only: [:index, :edit, :update, :show, :destroy] do 
    get :performance, on: :collection 
    member do 
     patch :certificate_webex 
    end 
    end 

И, конечно, в контроллере у меня есть метод certificate_webex.

Почему, когда я отправляю действие, это «Метод запроса: GET» ??? Метод certificate_webex не вызывается моей формой.

редактировать

Стараюсь также с

=form_for current_user, url: certificate_webex_employee_path(current_user), method: :patch, remote: true, html: { class: 'edit-profile' }, defaults: { label: false } do |f| 
= f.text_field :webex_certification_code, class: "form-control" 
+0

вы отправляете форму, нажав кнопку 'f.submit' или настроенную кнопку с javascript/jquery? – rogelio

ответ

0

Попробуйте указать метод в form_for

:method => :patch 

Я не использовал simple_form_for камень, но рельсы по умолчанию form_for документы см. здесь: http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html

+0

То же самое, всегда: получите, даже если я использую форму для и указываю. –

+0

Возможно ли на ваших маршрутах добавить патч к единственному: [: index,: edit,: update,: show,: destroy]? – Brad