加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – RoR:错误的参数数量

发布时间:2020-12-17 02:29:04 所属栏目:百科 来源:网络整理
导读:我试图在我的Rails 3代码中调用一个方法,但我得到: Failure/Error: integration_sign_in wrong_user ArgumentError: wrong number of arguments (0 for 1) 这是调用代码(在RSpec助手中): before(:each) do wrong_user = Factory(:user,:email = "test@test
我试图在我的Rails 3代码中调用一个方法,但我得到:

Failure/Error: integration_sign_in wrong_user
ArgumentError:
wrong number of arguments (0 for 1)

这是调用代码(在RSpec助手中):

before(:each) do
    wrong_user = Factory(:user,:email => "test@test.com",:password=>"hellohello",:password_confirmation => "hellohello")
    integration_sign_in wrong_user
end

所以它显然传递了一个论点.如果参数由于某种原因为null,那会不会认为它不是参数?

相关的背景:为了测试,我刚刚从webrat切换到水豚.正如Railscast 257中所建议的,我还安装了launchy和database_cleaner宝石.当我使用webrat时,上面的代码按预期工作,但现在(我相信与database_cleaner相关)出现了问题.

可能相关:在我的spec_helper.rb中,我改为:
?config.use_transactional_fixtures = false(即使’true’有同样的问题)

有任何想法吗?谢谢.

解决方法

看起来参数错误实际上并不在这个函数中(即使堆栈顶部看起来像它.实际错误在integration_sign_in函数内部:

def integration_sign_in(user)
        visit signin_path
        fill_in :email,:with => user.email
        fill_in :password,:with => user.password
        click_button
    end

看起来click_button在capybara中需要一个参数,但它不在webrat中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读