Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails4ajax没有响应_Ruby On Rails_Ajax - Fatal编程技术网

Ruby on rails rails4ajax没有响应

Ruby on rails rails4ajax没有响应,ruby-on-rails,ajax,Ruby On Rails,Ajax,我正在努力解决为什么对标准销毁方法的ajax调用不起作用的问题。从我的HTML源代码来看,我认为这可能是我如何使用div_for创建div的问题,或者它与我的js有关。我对javascript的疑难解答不知所措 我的看法是: <% @quizzes.each do |quiz| %> <%= div_for quiz do %> <tr> <td> <%= link_to quiz.name

我正在努力解决为什么对标准销毁方法的ajax调用不起作用的问题。从我的HTML源代码来看,我认为这可能是我如何使用div_for创建div的问题,或者它与我的js有关。我对javascript的疑难解答不知所措

我的看法是:

<% @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 %>
我的观点/测验/destroy.js

$(document).ready(function() {
    $('#<%= dom_id(@quiz) %>').fadeOut(); 
})
$(文档).ready(函数(){
$('#').fadeOut();
})

通过查看Rails的日志,我可以看到delete请求进入并由js处理,因此我最好的猜测是这要么是div_for和dom_id的问题,要么是我的js不好(很可能)

修复了这个问题:尝试使用div_包装for会创建无效的html。删除了表,现在ajax工作正常。

如果使用firebug,您可以在控制台中看到附加的内容。另请参阅Rails UJS事件,以帮助您调试您的“@quick”已销毁现在在销毁“@backup=@quick”之前进行备份,然后销毁它,然后在js.erb中使用“@backup”欢呼,使用firebug,我可以看到div_for有一些不可靠的地方-它创建了div,但似乎没有包装正确的内容。在表行周围使用div是一种不正确的做法吗?
$(document).ready(function() {
    $('#<%= dom_id(@quiz) %>').fadeOut(); 
})