微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

RoR:错误的参数数

如何解决RoR:错误的参数数

| 我试图在我的Rails 3代码调用一个方法,但得到:   失败/错误:integration_sign_in错误用户        ArgumentError:          参数数量错误(0代表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切换到了capybara。按照Railscast 257中的建议,我还安装了launchy和database_cleaner gem。当我使用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
看起来“ 3”在水豚中需要一个参数,但在webrat中则不需要。     ,
integration_sign_in(wrong_user)
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。