2013-02-24 43 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的新手,請原諒我缺乏更深入的知識。

相關問題