【问题标题】:Kaminari undefined method `page' with Rails 4.2带有Rails 4.2的Kaminari未定义方法“页面”
【发布时间】:2015-10-22 03:10:25
【问题描述】:

我正在使用Kaminari 0.16.3Rails 4.2.0。不知道出了什么问题,我在控制台中粘贴了我运行的代码,这证明kaminari gem 已加载,但page 方法在ActiveRecord 模型上未定义。

abhishek@abhishek ~/my_app (master●●)$ rails c                                                                     [ruby-2.1.5p273]
Loading development environment (Rails 4.2.0)
irb(main):001:0> Kaminari
=> Kaminari
irb(main):002:0> User.page
NoMethodError: undefined method `page' for User (call 'User.connection' to establish a connection):Class

请注意:我故意打电话给page,不带任何参数来重现问题。

【问题讨论】:

  • 我猜page 应该给出一个值。试试例如:User.page(1)
  • 尝试致电Kaminari.config.page_method_name 看看你会得到什么。如果出错,尝试Kaminari.methods 看看它是否有配置对象。
  • 那里没有错误。 @PrakashMurthy
  • 在我看来更像bug
  • Kaminari.config.page_method_name 得到什么?

标签: ruby-on-rails kaminari


【解决方案1】:

由于will_paginaterails_admin 的问题,我的代码库中有这个问题,导致page 方法重命名为per_page_kaminari

我意识到这一点很晚并已修复。

Kaminari.configure do |config|
  config.page_method_name = :per_page_kaminari
end

【讨论】:

  • 不错...这对我来说也是新鲜事。 +1。
  • 是的,Prakash 做对了。 Kaminari.config.page_method_name 让我更正要使用的方法名称。
【解决方案2】:

看看这个教程https://github.com/amatsuda/kaminari

这就是它的工作原理

 User.page(page_number).per(records_per_page)

【讨论】:

  • 我知道它是如何工作的。你看到它抛出NoMethodError。我不是说我在做正确的事,而是说它抛出了错误的错误。
  • 尝试reload!,然后再试一次。
  • 每次都给吗?或者当您尝试获取 User 的属性时。
  • 你能在控制台中做简单的用户并告诉我它显示了什么吗?
  • => User (call 'User.connection' to establish a connection)
猜你喜欢
  • 2014-02-23
  • 2012-06-27
  • 2011-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-28
  • 2016-07-04
相关资源
最近更新 更多