Rails& Kaminari:分页给了我重复

时间:2016-06-01 17:39:19

标签: ruby-on-rails ruby ajax kaminari

我正在使用带有AJAX的gem Kaminari。 AJAX部分工作正常。但是,当我在我的控制器中说 .per(3)时,它会返回每个对象的时间3.所以当我有9个食谱时,它会返回27个食谱(制作副本)。当我说 .per(1)时,我只会得到唯一的对象,但我不希望每个对象都有一个新的页面。

请帮我解决这个问题。提前谢谢。

我的控制器:

class RecipesController < ApplicationController
  skip_before_action :authenticate_user!
  def index
    if params[:search]
      @recipes = Recipe.search(params[:search]).order('created_at DESC').page(params[:page]).per(3)
    else
      @recipes = Recipe.order('created_at DESC').page(params[:page]).per(3)
    end
  end
end

我的观点:

<div class="container is-medium" id="product-recipe">
  <%= render @recipes %>
</div>

<% if @recipes.present? %>
  <div class="apple_pagination" id="paginator">
    <%= paginate @recipes, :remote => true %>
  </div>
<% end %>

index.js.erb的:

$('#product-recipe').html('<%= escape_javascript render(@recipes) %>');
$('#paginator').html('<%= escape_javascript(paginate(@recipes, :remote => true).to_s) %>');

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。对于将来可能遇到同样问题的人。

在我的食谱中,我有@ recipes.each do | recipe | .... 这就是问题,删除该行修复了重复的问题。