ruby – Kaminari和Capybara冲突
发布时间:2020-12-17 02:36:46 所属栏目:百科 来源:网络整理
导读:我似乎在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 `micr
我似乎在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 end end 如果我删除分页,测试工作正常. 我不明白这是怎么可能的,我猜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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |