kaminari undefined方法`page'

时间:2011-03-23 01:30:56

标签: ruby-on-rails-3

我一直在尝试使用Kaminari宝石进行分页,但遇到了问题。

我有一个简单的初学者项目,其中包含一个简单的模型:

class Position < ActiveRecord::Base
  validates_presence_of :name
end

我在Ubuntu 10.04上运行ruby 1.9.2和rails 3.0.5。我安装了kaminari(0.10.4)。

根据我的理解,我应该能够执行Position.order(“name”)。page(1),但是当我这样做时,我得到以下内容:

ruby-1.9.2-p0 > Position.order("name").page(1)
NoMethodError: undefined method `page' for #<ActiveRecord::Relation:0xaacab34>
    from /home/bob/.rvm/gems/ruby-1.9.2-p0@talentskout/gems/activerecord-3.0.5/lib/active_record/relation.rb:371:in `method_missing'
    from (irb):2
    from /home/bob/.rvm/gems/ruby-1.9.2-p0@talentskout/gems/railties-3.0.5/lib/rails/commands/console.rb:44:in `start'
    from /home/bob/.rvm/gems/ruby-1.9.2-p0@talentskout/gems/railties-3.0.5/lib/rails/commands/console.rb:8:in `start'
    from /home/bob/.rvm/gems/ruby-1.9.2-p0@talentskout/gems/railties-3.0.5/lib/rails/commands.rb:23:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

这似乎是我能得到的简单场景。任何想法都将不胜感激。

感谢。

3 个答案:

答案 0 :(得分:16)

Rails noob在这里:完全相同的问题,但出于不同的原因 - 我发现我必须在添加kaminari gem并运行bundle install后重新启动服务器。只要提一下,以防其他人遇到同样的问题!

答案 1 :(得分:4)

我弄清楚了我的问题,它本身与Kaminari宝石无关。

在我的Gemfile中,我将gem'kaminari'子句置于我的组下:错误地测试部分。所以它没有在我的开发环境中加载。愚蠢的错误。

答案 2 :(得分:1)

我也是一个Rails noob并且有同样的错误。我可以通过将Model.all更改为Model.order(“id”)来解决问题。