在同一页面上两次使用Kaminari的Rails 5在部分页面

时间:2019-05-25 17:06:36

标签: javascript ruby-on-rails kaminari

一个控制器动作有两组数据(起源于同一类,但来自不同的查询

    @usercontents = Usercontent.where(contenttype_id > ?, 1).page params[:page]
    @points = Usercontent.where(contenttype_id = ? ', 1]).page params[:page]

视图中有局部视图,而局部视图又调用了自己的局部视图

    <%= render 'points' %>

    <%= render 'contents' %>

_contents.html.erb部分

<%= paginate @usercontents, remote: true, previous_label: t('navigate.previous'), next_label: t('navigate.next'), params: {anchor: 'panel3'} %>

<div id=usercontents class='tableize'>
  <%= render partial: 'usercontents/usercontent', collection: @usercontents %>
</div>

_points_html.erb部分

<%= paginate @points, remote: true, previous_label: t('navigate.previous'), next_label: t('navigate.next'), params: {anchor: 'panel2'} %>

<div id=points class='tableize'>
  <%= render partial: 'point', collection: @points %>
</div>

该视图所暗示的是,分页集合位于页面的单独列表中。 最终结果是页面确实被分页,但是调用存在三个问题:

  1. 所有资产都被调用,而不是仅对集合进行XHR调用
  2. 仅部分页面而不是整个页面(包括字符串化的javascript!)都不会呈现
  3. 将分页渲染放置在部分部分的之后,而不是替代部分。调用另一个页面只会将新页面添加到上一个块的末尾。

此设置有何不正确之处?

0 个答案:

没有答案