2013-02-24 42 views
1

我有一些测试需要用户登录。当我自己运行控制器测试时,它会通过,并且一切都是绿色的。如果我运行rspec spec/controllers我的一些测试与错误,如未能:一起跑时控制器测试失败,单独跑时通过。怎么会这样?

Failure/Error: get :my_modal, :format => :js 
NoMethodError: 
    undefined method `authenticate!' for nil:NilClass 

任何提示,这到底是怎么固定?

+0

我的回答可能对您有用吗?如果是这样,你可以upvote它?否则,我宁愿删除它。谢谢! – joelparkerhenderson 2013-02-26 02:41:18

+0

你想分享你的_spec.rb文件失败吗? – swapab 2013-12-22 07:48:49

回答

0

一旦我有这样的错误。因此,当我告诉你我的故事时,你不会与我们分享更多细节,并希望以后可以更轻松地找到你的错误。

在我的应用程序2类可以登录。“用户”和“主题”。我试图进行身份验证,因此用户只能访问与用户相关的网站,而主题只能访问该应用的与主题相关的部分。

我得到的第一个错误之一是你的错误。但我修好了,会试着向你解释我是如何做到的。如果用户已登录,我的应用程序不知道与主题相关的认证方法。反之亦然,如果在我的应用程序中签名主题不知道用户相关的认证方法(我要求User.user_id或Topic.be_topic?为真)

解决此问题的线索是:我创建了一个名为“user_signed_in”的方法,并通过IF方法运行验证。

IF user_signed_in 
    user.user_id > 0 
ELSE 
    topic.be_topic == true 
END 

希望能帮到你。我是Rails的新手,请原谅我缺乏更深入的知识。

相关问题