0

我目前正在开发一个使用 Sorcery 对用户进行身份验证的项目,并且我使用 capybara 完成了一些集成测试。当我调用current_userlogged_in 时?巫术助手我收到此错误:

ArgumentError Exception: wrong number of arguments calling `page` (0 for 1)

但是当我在开发模式下调用它们时,它不会发生。

经过一番研究,我发现问题来自 find_by_id 方法。因此,如果我调用Model.find_by_id(1),我会收到此错误。我很困惑,因为我不明白为什么要调用 page 方法以及在哪里调用。

我通过覆盖我的模型的 find_by_id 方法来修复它,但我完全不同意这样做,所以......

有人知道发生了什么吗?

提前谢谢你们

4

1 回答 1

0

我终于修好了。问题是我在 env.rb 中包含了 Capybara,因此我的 ActiveRecord 类继承了 Capybara 方法,并且运行了用于在网页中查找元素的 find_by_id 方法,而不是 ActiveRecord find_by_id。

删除“包括 Capybara”行后一切正常。

于 2015-05-29T11:24:37.207 回答