2014-10-16 50 views
0

我有多个设备,当进入每个设备时,信息被分开。 然而,偶尔设备不坚持标准,不会返回我正在寻找的信息,并得到一个错误信息:NoMethodError测试:undefined方法

undefined method `[]' for nil:NilClass 

这是导致问题的行:

<%= @device['summary.usrate']['_value'] %> 

如何进行测试,如果发生错误并且变量(如果可用)则打印'空白'?

<%= if @device['summary.usrate']['_value'] != nil print this_variable %> 

回答

0

这是因为@device ['summary.usrate']为零。试试这个:<%= @device ['summary.usrate'] ['key'] if @device ['summary.usrate']%>

0

这似乎适用于我。 我也试过以下,我测试过它的工作原理:

<% if defined?(@device['summary.dsrate']['_value']) %> 
    <%= @device['summary.dsrate']['_value'] %> 
<% end %> 
相关问题