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

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

我正在尝试 运行 一个 AJAX 请求,它根据请求获取我的分页链接索引和 returns 下一组分页链接,但是当请求时我收到此错误滚动到页面底部时发出。

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

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

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

Rails 记录错误

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) %>');

Missing partial links/_link

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

This still occurs even after I created my _links partial

这里打错了,应该是_link,单数形式。这是用于渲染一个不同 link.

的部分