数组kaminari的未定义方法current_page

时间:2013-03-30 05:08:30

标签: kaminari

我正在尝试对产品详细信息(图片)进行分页,但我收到了此错误。

Home #index中的NoMethodError 显示/home/aws002/webpage/app/views/home/index.html.erb,其中第6行引发: #

的未定义方法`current_page'

这是我的产品控制器代码:

def index
    @rroducts = Product.order(:name)
    Kaminari.paginate_array(@products).page(params[:page]).per(3)
    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @products }
    end
end

我想在主页上显示。查看文件代码是:

<% @products=Product.all %>
  <%= paginate @products %>
  <% @products.each do |p|%>
    <%= image_tag("Images/#{p.id}.jpeg",:alt => p.name) %>
    <p> Price: </p>
    <%= p.price %>
    <p> Discount: </p>
    <%= p.discount %>
  <br/>
  <% end %>

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

3 个答案:

答案 0 :(得分:3)

试试这个

def index
 @products = Product.order(:name).page(params[:page]).per(3)
 respond_to do |format|
  format.html # index.html.erb
  format.json { render json: @products }
 end
end

答案 1 :(得分:1)

我得到了答案。

由于我正在检索保存在公共目录中的图像,而不是使用任何控制器或模型来检索图像,因此我只在视图文件中包含该kaminari部分。

Kaminari.paginate_array(@products)。第(PARAMS [:页])。每(3)

这应该添加到视图文件中。

答案 2 :(得分:0)

我认为错误来自您的索引方法,因为您声明的实例变量名为@rroducts,因为您实际上使用了另一个用于Kaminari的名为@products