Как заставить Ajax работать с form_tag в Rails? - PullRequest
0 голосов
/ 30 марта 2019

Я пробовал несколько уроков Youtube и вопросы StackOverflow, но мой Ajax по-прежнему не работает с form_tag.Как я могу заставить это работать?

В основном я хочу, чтобы тд курса был удален после установки флажка и нажатия кнопки отправки.

Вот код:

_courses.html.erb:

<%= form_tag delete_drafts_path, remote: true do %>

  <%= submit_tag 'Update', class: 'course-container-new-row-button' %>

  <% @courses_drafts.each do |course| %>
   <tr>
    <td">
     <div class="check-button">
      <label>
       <%= check_box_tag "approved_ids[]", course.id, nil %>
        <span>
         <i class="fa fa-check" aria-hidden="true"></I>
        </span>
       </label>
      </div>
     </td>
    </tr>
  <% end %>
<% end %>

courses.js.erb:

$('.course-container-new-row-button').bind("ajax:success", function() {
    $(this).closest('td').fadeOut();
})

courses_controller.rb:

def courses 
  @courses_pending = Course.where(activity: 2).page(params[:page]).order('day ASC')

  respond_to do |format|
    format.js
    format.html
  end
end

Маршруты:

  post :delete_drafts, to: "courses#courses", as: :delete_drafts

1 Ответ

0 голосов
/ 30 марта 2019

Чтобы удаленные формы работали, вы должны включить rails-ujs (или jquery-ujs для Rails <5.1) в <code>application.js, проверьте, есть ли эта строка:

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