0

我有一个任务要做分页。当我做分页时,我遇到了这些错误

NoMethodError in ProductsController#index

undefined method `page' for []:ActiveRecord::Relation

Rails.root: /home/nithinv/store
Application Trace | Framework Trace | Full Trace

app/controllers/products_controller.rb:4:in `index'

这是我的控制器

 def index

       @products = Product.order(:name).page(params[:page]).per(2)

      respond_to do |format|
        format.html  #index.html.erb
        format.json { render :json=> @products }
      end
     end

这是我的 index.html.erb

 <% title "Products" %>

<%= paginate @products %>

<% for product in @products %>
  <div class="product">
    <h2><%= link_to product.name, product %></h2>
    <div class="details">
      <%= number_to_currency(product.price) %> |
      Released <%= product.released_at.strftime("%B %e, %Y") %>
    </div>
  </div>
<% end %>

<p><%= link_to "New Product", new_product_path %></p>

我怎么解决这个问题?

4

2 回答 2

0

参考这个

我想你忘了在你的gemfile

gem 'kaminari'

然后捆绑安装

于 2012-12-03T09:40:13.627 回答
0

我看起来问题与 kaminari gem 配置(不是你的代码)有关。我建议你做这个快速检查:

  1. bundle install
  2. 重新启动服务器(因为更改可能尚未加载)
  3. 检查您的 gemfile,因为 kaminari gem 可能放错了位置(在 :test 组下)

有点明显,但有时我也发现自己在忘记一些基本检查后浪费了时间。

于 2012-12-03T09:58:24.000 回答