ActionView :: Template :: Error:nil的未定义方法`name':NilClass

时间:2016-01-06 22:24:27

标签: ruby-on-rails testing view

我无法理解运行测试时弹出的以下错误

           January                          February                          March             
00                       1   2   05       1   2   3   4   5   6   09           1   2   3   4   5
01   3   4   5   6   7   8   9   06   7   8   9  10  11  12  13   10   6   7   8   9  10  11  12
02  10  11  12  13  14  15  16   07  14  15  16  17  18  19  20   11  13  14  15  16  17  18  19
03  17  18  19  20  21  22  23   08  21  22  23  24  25  26  27   12  20  21  22  23  24  25  26
04  24  25  26  27  28  29  30   09  28  29                       13  27  28  29  30  31        
05  31                                                                                          
            April                             May                              June             
13                       1   2   18   1   2   3   4   5   6   7   22               1   2   3   4
14   3   4   5   6   7   8   9   19   8   9  10  11  12  13  14   23   5   6   7   8   9  10  11
15  10  11  12  13  14  15  16   20  15  16  17  18  19  20  21   24  12  13  14  15  16  17  18
16  17  18  19  20  21  22  23   21  22  23  24  25  26  27  28   25  19  20  21  22  23  24  25
17  24  25  26  27  28  29  30   22  29  30  31                   26  26  27  28  29  30        
             July                            August                         September           
26                       1   2   31       1   2   3   4   5   6   35                   1   2   3
27   3   4   5   6   7   8   9   32   7   8   9  10  11  12  13   36   4   5   6   7   8   9  10
28  10  11  12  13  14  15  16   33  14  15  16  17  18  19  20   37  11  12  13  14  15  16  17
29  17  18  19  20  21  22  23   34  21  22  23  24  25  26  27   38  18  19  20  21  22  23  24
30  24  25  26  27  28  29  30   35  28  29  30  31               39  25  26  27  28  29  30    
31  31                                                                                          
           October                          November                         December           
39                           1   44           1   2   3   4   5   48                   1   2   3
40   2   3   4   5   6   7   8   45   6   7   8   9  10  11  12   49   4   5   6   7   8   9  10
41   9  10  11  12  13  14  15   46  13  14  15  16  17  18  19   50  11  12  13  14  15  16  17
42  16  17  18  19  20  21  22   47  20  21  22  23  24  25  26   51  18  19  20  21  22  23  24
43  23  24  25  26  27  28  29   48  27  28  29  30               52  25  26  27  28  29  30  31

我的模板indexuser使用以下行调用部分_navbaruser

 ActionView::Template::Error:
   undefined method `name' for nil:NilClass
 # ./app/views/shared/_navbaruser.html.erb:5:in `_app_views_shared__navbaruser_html_erb__1173572034888802020_70230060606960'
 # ./app/views/confirmations/indexuser.html.erb:9:in `_app_views_confirmations_indexuser_html_erb___3677980567853899736_70230060569840'
# ./spec/views/confirmations/indexuser.html.erb_spec.rb:5:in `block (2 levels) in <top (required)>'

部分有

<%= render "shared/navbaruser" %>

Current_user在我的助手

中定义
<%= @current_user.name %>

我在运行测试时遇到错误。应用程序运行正常,当有人登录时,我确实得到了current_user的名称。在控制器中我尝试了:

1)完全清空控制器(我没有在调用模板的方法下放任何东西)

2)只需输入一行来定义current_user

def current_user
if (user_id = session[:user_id])
  @current_user ||= User.find_by(id: user_id)
elsif (user_id = cookies.signed[:user_id])
  user = User.find_by(id: user_id)

   if user && user.authenticated?(:remember, cookies[:remember_token])
  log_in user
    @current_user = user
  end
  end
end

在这两种情况下,我在运行测试时都会收到错误消息。谁能给我一些关于在哪里寻找纠正这个错误的提示?可能是在帮助器方法中定义current_user会触发此模板错误问题吗?谢谢。

0 个答案:

没有答案