ruby – Kaminari和Capybara冲突

ruby – Kaminari和Capybara冲突,第1张

概述我似乎在capybara的页面方法和Kaminari的页面方法之间存在某种冲突. 这就是我猜想的,无论如何,这是错误: Failure/Error: before { sign_in_as user } ActionView::Template::Error: wrong number of arguments (1 for 0) # ./app/models/f 我似乎在capybara的页面方法和Kaminari的页面方法之间存在某种冲突.

这就是我猜想的,无论如何,这是错误:

Failure/Error: before { sign_in_as user }     ActionVIEw::Template::Error:       wrong number of arguments (1 for 0)     # ./app/models/Feed.rb:9:in `microposts'     [Rest of the backtrace]

代码示例:

class Feed    def microposts(opts = { urgent: false })                                                                      urgent = opts[:urgent]                                                                                      p Microposts.where(ID: 1).page # <Capybara::Session>                                                                               p Microposts.where(ID: 1).page(1) # Error    endend

如果我删除分页,测试工作正常.

我不明白这是怎么可能的,我猜Capybara将“页面”方法添加到Object范围,但是当Kaminari将其页面方法添加到ActiveRecord :: Base时(如果我没记错),它应该覆盖Capybara的一个.

我没有看到有人遇到这种麻烦,怎么可能?

谢谢.

解决方法 我和Capybara 2.x有同样的问题

我的功能规格位于spec / feature目录中.我从阅读Capybara文档中了解到,如果您使用features目录,则无需在spec_helper中包含Capybara :: DSL.它已经包括在内了.

如果你在spec_helper中包含Capybara :: DSL会发出警告,它会污染全局命名空间,这正是为什么这是个坏主意!

Check out this rspec-rails page on Capybara for details

总结

以上是内存溢出为你收集整理的ruby – Kaminari和Capybara冲突全部内容,希望文章能够帮你解决ruby – Kaminari和Capybara冲突所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1280525.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存