rails应用程序中的AJAX请求错误:xhr.send((options.hasContent&&op

AJAX request in rails app error: xhr.send( ( options.hasContent && options.data ) || null );

本文关键字:amp op options hasContent send xhr 应用程序 AJAX 请求 错误 rails      更新时间:2023-09-26

我正试图运行一个AJAX请求,该请求获取我的分页链接索引,并在请求时返回下一组分页链接,但当滚动到页面底部时发出请求时,我会收到此错误。

xhr.send( ( options.hasContent && options.data ) || null ); 

根据下面的查询参数,该请求似乎试图获取我的链接的第二页,但返回500错误。

http://localhost:3000/links?page=2&_=1451357800871

轨道记录错误

ActionView::Template::Error (Missing partial links/_link with {:locale=>[:en], :formats=>[:js, "application/ecmascript", "application/x-ecmascript", :html, :text, :css, :ics, :csv, :vcf, :png, :jpeg, :gif, :bmp, :tiff, :mpeg, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in:
  * "/Users/jackburum/personal_projects/quotes_app/app/views"
  * "/Users/jackburum/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/devise-3.5.2/app/views"
):
    1: $('#links').append('<%= j render(@links) %>');
    2: <% if @posts.next_page %>
    3:   $('.pagination').replaceWith('<%= j will_paginate(@links) %>');
    4: <% else %>
  app/views/links/index.js.erb:1:in `_app_views_links_index_js_erb___2714542505890050790_70114472173520'

即使在我创建了_links分部之后,这种情况仍然会发生。

这是我的links.coffee.js文件中的脚本代码。当我用警报消息进行测试时,代码测试得很好,但当我用get脚本替换警报消息时,我得到了AJAX错误。

ready = ->
    jQuery ->
        $(window).scroll ->
            if $(window).scrollTop() > $(document).height() - $(window).height() - 50
                    $.getScript($('.pagination next_page').attr('href'))
$(document).ready(ready)
$(document).on('page:load', ready)

有人能帮忙吗?

1: $('#links').append('<%= j render(@links) %>');

缺少部分链接/_lank

当您渲染ActiveRecord模型的数组时,Rails将根据这些模型的类推断出分部名称,并尝试为每个模型对象加载一个单独的分部。因此,在您的情况下,分部将是links/_link,这正是Rails根据错误消息尝试加载的内容。

即使在我创建了部分(_link)之后,这种情况仍然会发生

这里有一个拼写错误,应该是_link,单数形式。这是一个用于呈现一个不同链接的分部。