1

我正在使用基于 HAML 的模板,而 Kaminari 对我来说似乎破坏了分页。我确定这是我的错,但这是我的模板的样子:

:javascript
  $(function() {
    $('#events').html('<%= escape_javascript render(@events) %>');
    $('#paginator').html('<%= escape_javascript(paginate(@events, :remote => true).to_s) %>');
  });

    %ul.activity_list
      #events
        = render :partial => 'event'

我的 _event.html.haml 看起来像:

- @events.each do |event|
  = display_event(event)

最后:

  %nav
      %ul.pagination
        #paginator
          = paginate @events, :remote => true

当我加载页面时现在发生的事情是分页事件应该在哪里我真的看到以下标记:

&lt;%= escape_javascript render(@events) %gt;

它在网站上呈现为:

<%= escape_javascript render(@events) %>

我在这里做错了什么才能在这里启用 XHR 分页?

更新

根据 Dylan 的要求,我已将我的 javascript 更新为以下内容:

:javascript
  $(function() {
    $('#events').html('#{escape_javascript render('event')}');
    $('#paginator').html('#{escape_javascript(paginate(@events, :remote => true).to_s)}');
  });

看起来 XHR 正在工作,但由于某种原因,它永远不会超过 page=2。这个特定的抓取应该总共有 3 页,它只会在第 1 页和第 2 页之间翻转。有什么原因吗?

4

1 回答 1

2

您正在尝试在 haml 文件中使用 erb 标签。您应该使用 haml 的插值 ruby​​ 代码版本(#{}而不是<%= %>):

:javascript
  $(function() {
    $('#events').html('#{escape_javascript render(@events)}');
    $('#paginator').html('#{escape_javascript(paginate(@events, :remote => true).to_s)}');
  });

请参阅有关此的 Haml 文档

于 2012-05-08T15:42:18.950 回答