我是rails的新手,我正试图尝试TDD。
我有一个用户模型,其默认情况下设置为nil的admin属性和请求模型。
这是我对请求控制器的测试
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 :(得分:3)
def admin?(user)
if not user.nil?
return user.admin
end
return false
end