Я пытаюсь устранить неполадку, почему этот вызов ajax стандартного метода Destroy не будет работать. От взгляда на мой HTML-источник, я думаю, что это может быть проблемой либо с тем, как я создаю divs, используя div_for OR, это имеет какое-то отношение к моим js. Я затрудняюсь для устранения неполадок javascript.Rails 4 Ajax не отвечает
Мое мнение:
<% @quizzes.each do |quiz| %>
<%= div_for quiz do %>
<tr>
<td>
<%= link_to quiz.name, quiz_review_path(quiz.id) %>
</td>
<% if quiz.finished? %>
<td>
<%= link_to "Results", quiz_results_path(quiz) %>
</td>
<% elsif quiz.questions.first != nil %>
<td>
<%= link_to "Take quiz", question_answer_path(question_id: quiz.questions.first.id) %>
</td>
<% else %>
<td>
<%= link_to "Broken, delete!", nil %>
</td>
<% end %>
<td>
<%= link_to "Delete", quiz_path(quiz), method: 'delete', remote: true %>
</td>
</tr>
<% end %>
Контроллер:
def destroy
@quiz = Quiz.find(params[:id])
@quiz.destroy
respond_to do |format|
format.html { redirect_to quizzes_path }
format.js
end
end
Мои взгляды/викторинах/destroy.js
$(document).ready(function() {
$('#<%= dom_id(@quiz) %>').fadeOut();
})
Глядя на рельсах S бревен, я может видеть, что запрос удаления приходит и обрабатывается js, поэтому мой b Угадайте, это либо проблема с div_for, либо dom_id ИЛИ мой js плохой (весьма вероятно).
Если вы используете firebug, вы можете увидеть, что добавляется в консоли. См. Также события Rails UJS, которые помогут вам отладить https://github.com/rails/jquery-ujs/wiki/ajax – Benj
, уничтоженный ваш «@quiz» теперь берет резервную копию перед уничтожением «@backup = @quiz», а затем уничтожает он, а затем в js.erb используйте «@backup» –
ура, с firebug. Я вижу, что с div_for происходит что-то неуловимое. Он создает divs, но, похоже, не обворачивает правильный контент. Использование divs вокруг строки таблицы является nono? – user2936314