我正在尝试运行一个AJAX请求,它接受我的分页链接索引并根据请求返回下一组分页链接,但是当滚动到页面底部发出请求时,我收到此错误。
xhr.send( ( options.hasContent && options.data ) || null );
请求似乎是在下面的查询参数下尝试获取链接的第二页,但返回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 partial之后,这仍然会发生。
这是我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)
有人可以帮忙吗?
答案 0 :(得分:1)
1: $('#links').append('<%= j render(@links) %>');
缺少部分链接/ _link
当您渲染ActiveRecord模型数组时,Rails将根据这些模型的类推导出部分名称,并尝试为每个模型对象加载单独的部分名称。因此,在您的情况下,partial将为links/_link
,这正是Rails根据错误消息尝试加载的内容。
即使我创建了_links partial
,这仍然会发生
这里有一个拼写错误,应该是_link
,单数形式。这部分用于呈现一个不同的链接。