我正在使用基于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
当我加载页面时,现在发生的事情是分页事件应该在哪里我真的看到以下标记:
<%= 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页之间翻转。这有什么原因吗?
答案 0 :(得分:2)
您正在尝试在haml文件中使用erb标记。你应该使用haml版本的插值ruby代码(#{}
而不是<%= %>
):
:javascript
$(function() {
$('#events').html('#{escape_javascript render(@events)}');
$('#paginator').html('#{escape_javascript(paginate(@events, :remote => true).to_s)}');
});