在我的项目中使用kaminari ajax分页。它工作正常,但内容显示页面中的页数。例如,如果每页的项目数是7,那么它显示相同内容的7倍。我在做什么
在product_details控制器中
def index
@products=ProductDetail.where("department_id = ? and category_id = ?",1, 1).page(params[:page]).per(15)
end
在product_details / index.html.erb
中<div id="product_details">
<%= render @products %>
</div>
<div id="paginator">
<%= paginate @products, :remote=>true %>
</div>
在product_details / index.js.erb
中$('#product_details').html('<%= escape_javascript render (@products) %>');
$('#paginator').html('<%= escape_javascript(paginate(@products, :remote=>true).to_s)%>');
在product_details / _product_detail.html.erb
中<div id="product_list">
<% @products.each do | product | %>
<div class="product_container">
<div class="product_box" >
<div id="future_image_container">
<div class="image_block" >
<%= image_tag(product.image_path, :alt => "product image", :height=>"215px") %>
</div>
<span id="future_price" style="text-decoration: line-through; color: #9e9c9c;">
<span style="color: black;">
<%= "$#{product.price}" %>
</span>
</span>
<div id="circle">
<p>
<% if(product.discount > 0) %>
<% new_price=((2.0*((product.price*product.discount)/100)).round)/2.0 %>
<% else %>
<% new_price=product.price %>
<% end %>
<%= "$#{new_price}"%>
</p>
</div>
</div>
<p class="future_product_name">
<%= product.name %>
</p>
<% @brands=Brand.where("id=?",product.brand_id)
@brands.each do |brand|
@brandname=brand.name
end
%>
<p class="future_product_name">
<%= "Brand : #{@brandname}" %>
</p>
</div>
</div>
<% end %>
</div>
请帮我解决这个问题
答案 0 :(得分:2)
我注意到当我使用&lt;%= render @products%&gt;我每页采取了多少项重复次数。因此,我通过以下代码解决了这个问题:
在product_details控制器中
def index
@products=ProductDetail.where("department_id = ? and category_id = ?",1, 1).page(params[:page]).per(15)
end
在product_details / home.html.erb
中<div id="product_details">
<%= render 'index' %>
</div>
在product_details / index.js.erb
中$('#product_details').html('<%= escape_javascript render ('index') %>');
在product_details / _index.html.erb
中<div id="product_list">
<%= paginate @products, :remote=>true %>
<% @products.each do | product | %>
<div class="product_container">
<div class="product_box" >
<div id="future_image_container">
<div class="image_block" >
<%= image_tag(product.image_path, :alt => "product image", :height=>"215px") %>
</div>
<span id="future_price" style="text-decoration: line-through; color: #9e9c9c;">
<span style="color: black;">
<%= "$#{product.price}" %>
</span>
</span>
<div id="circle">
<p>
<% if(product.discount > 0) %>
<% new_price=((2.0*((product.price*product.discount)/100)).round)/2.0 %>
<% else %>
<% new_price=product.price %>
<% end %>
<%= "$#{new_price}"%>
</p>
</div>
</div>
<p class="future_product_name">
<%= product.name %>
</p>
<% @brands=Brand.where("id=?",product.brand_id)
@brands.each do |brand|
@brandname=brand.name
end
%>
<p class="future_product_name">
<%= "Brand : #{@brandname}" %>
</p>
</div>
</div>
<% end %>
</div>
现在没有产品重复,ajax分页也正常工作