我正在尝试对产品详细信息(图片)进行分页,但我收到了此错误。
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 %>
请帮我解决这个问题。提前谢谢。
答案 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