我有一些测试要求用户登录。当我自己运行控制器测试时,它会通过,一切都是绿色的。如果我运行rspec spec/controllers
我的一些测试失败了,例如:
Failure/Error: get :my_modal, :format => :js
NoMethodError:
undefined method `authenticate!' for nil:NilClass
有关如何解决此问题的任何提示?
答案 0 :(得分:0)
我遇到这样的错误。因此,当我告诉您我的故事时,您不会与我们分享更多详细信息,希望您之后可以更轻松地找到您的错误。
在我的App 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的新手,请原谅我缺乏更深层次的知识。