2011-05-17 61 views
1

我是新來的鐵軌,我試圖給TDD一個嘗試。FactoryGirl Rspec ActionView :: Template :: Error:未定義的方法爲零:NilClass

我有一個用戶模型,默認情況下管理員屬性設置爲零,並且請求模型。

這是一個測試,我有我的請求控制器

it "should grant access to 'destroy'" do 
     req = Factory(:request, :user => @user) 
     delete :destroy, :id => req.id 
     response.should be_successful 
end 

當我運行此我得到以下錯誤:

ActionView::Template::Error:undefined method `admin' for nil:NilClass 

我猜這是因爲我的觀點有鏈接,只有在用戶擁有該鏈接或者他們是管理員時纔會顯示。所以,我正在對admin屬性進行條件測試。我是否需要將admin屬性設置爲false?

我該如何處理?

+0

我會說@user被測試,如果他是一個管理員,所以它看起來像@user是零。 – 2011-05-17 19:25:15

回答

3

我犯了一個錯誤。當用戶爲零時,我試圖在我的控制器中調用user.admin。我創建了一個輔助方法來檢查用戶是否爲零,然後檢查管理員字段。

def admin?(user) 
    if not user.nil? 
    return user.admin 
    end 
    return false 
end 
相關問題