Ruby on rails Kaminari页面\方法\名称配置失败

Ruby on rails Kaminari页面\方法\名称配置失败,ruby-on-rails,ruby,capybara,kaminari,Ruby On Rails,Ruby,Capybara,Kaminari,我有一个Rails 4.2框架,并使用Kaminari进行分页。一切都很好,但我想用水豚来测试一切,因此我遇到了页面冲突。因此,我想重新命名Kaminari的页面\方法\名称,并遵循他们的指南: $ bundle exec rails g Kaminari:config 这将生成此文件 app/config/initializers/kaminari_config.rb Kaminari.configure do|config| config.page\方法\名称=:工厂 结束 在其中,我只

我有一个Rails 4.2框架,并使用Kaminari进行分页。一切都很好,但我想用水豚来测试一切,因此我遇到了页面冲突。因此,我想重新命名Kaminari的页面\方法\名称,并遵循他们的指南:

$ bundle exec rails g Kaminari:config
这将生成此文件

app/config/initializers/kaminari_config.rb

Kaminari.configure do|config|
config.page\方法\名称=:工厂
结束
在其中,我只是取消了config.page_method_名称的注释,并将其设置为:plant(作为Kaminari文档中的一个示例,以避免类似于:Kaminari_页面的任何保留方法名称冲突)。 然后我将适当的控制器调整为

def索引
@q=交互.发布.顺序(更新地址::desc).limit(200).ransack(参数[:q])
@selection=@q.result
@交互作用=Kaminari.paginate_数组(@selection).plant(参数[:page]).per(10)
回应待办事项|格式|
format.html
format.js
结束
结束
我重新启动了所有程序,在访问

Kaminari::PaginatableArray的未定义方法“plant”:0x00005568fb42ba30

Gemfile.lock:

kaminari (1.2.1)
      activesupport (>= 4.1.0)
      kaminari-actionview (= 1.2.1)
      kaminari-activerecord (= 1.2.1)
      kaminari-core (= 1.2.1)
    kaminari-actionview (1.2.1)
      actionview
      kaminari-core (= 1.2.1)
    kaminari-activerecord (1.2.1)
      activerecord
      kaminari-core (= 1.2.1)
    kaminari-core (1.2.1)
然后我在谷歌上搜索,还添加了require'kaminari'(这没有多大意义,因为我没有得到uninit常量错误),还将kaminari configure部分包含在类Application没有工作,总是相同的错误。

您将文件位置显示为
app/config/initializers/kaminari\u config.rb
。如果这是您的文件的实际位置,它将充分解释为什么该方法不存在。位置应该是app/config/initializers/kaminari_config.rb。使用您指定的位置,应用程序启动时不会自动加载

如果您显示的位置只是一个类型,那么这不是原因,但是如果您没有将水豚包含到全局对象中(您无论如何都不应该这样做),那么就不会发生名称冲突。当前版本的Capybara在您将其包含到全局对象中时会发出警告


还有什么原因让你抓取所有的结果,然后对它们进行分页,而不是使用
页面
(或
工厂
)和
按照交互上定义的
范围进行分页?

选择是否包含工厂方法?否,我适当地编辑了我的问题,提供了索引操作的完整概述。感谢托马斯·沃尔波尔的回答!很抱歉我的打字错误!确保该位置在初始值设定项中,没有附加i。我没有将Capybara包含到全局对象中,也没有得到错误,但是我不能在任何分页表上使用Capybara。所以我认为这只是页面问题。卡米纳里的重新发现应该有用,不是吗?关于最后一点,你能给我一个例子,你会把
页面
放置在模型交互中吗?@stephansin我相信
交互。发布。顺序(更新地址::desc)。限制(200)。搜索(参数[:q])。页面(参数[:页面]。每(19)
。是的,如果您使用的是足够新的kaminari版本,那么重命名应该可以工作——您使用的是Rails 4.2,这一事实告诉我您可能已经过时了,谢谢!我查一下。你对页面方法的重新配置失败还有其他想法吗?@StephanSinn你是否碰巧使用了kaminari不,这是v1.2.1,我更新了我的帖子,包括Gemfile.lock摘录。