2014-10-16 153 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 %> 
相關問題