2009-11-10 228 views
0

我甚至不知道這是如何打破。而且我也不太清楚錯誤的含義。它以前工作。紅寶石在軌道上nil.to_sym錯誤

You have a nil object when you didn't expect it! 
The error occurred while evaluating nil.to_sym 
    Extracted source (around line #3): 

    1: <div id="probes"> 
    2: <h1>Edit Probes</h1> 
    3: <% form_for @probe do |f| %> 
    4:  <%= f.error_messages %> 
    5: <p> 
    6:  <%= f.label "Site name" %><br /> 

控制器:

def edit 
    @probe = Probe.find(params[:id]) 
end 

這也發生在索引操作

You have a nil object when you didn't expect it! 
The error occurred while evaluating nil.to_sym 

10: <% for probe in @probes %> 
11:  <tr> 
12:  <td class="detail" style="padding-left: 100px;" width="50%"> 
13:   <%=h link_to probe.name, probe %> 
14:  </td> 
15:  <td class="detail" style="padding-left: 30px;" width="30%"> 
16:   <%=h @status[x] %> 

控制器:

@probes = @current_user.probes.find_existing_probes_for_user 
@status_dump = [] 
for probe in @probes 
    @status_dump << probe.status 
end 
@status = [] 
for id in @status_dump 
    case id 
     when 0 then @status << .... 
     when 1 then @status << .... 
     when 2 then @status << .... 
     when 3 then @status << .... 
    end 
end 

這一發現與數據回來,我正在使用ruby調試器。

編輯

對於指數的行動,它與在鏈接到探頭做。

編輯2 我將探頭更改爲edit_probe_path(probe.id)並且工作正常。我仍然不確定爲什麼編輯頁面仍然無法正常工作。

回答

0

這與我的鏈接如何設置有關。在弄亂他們之後,似乎已經解決了這個問題。

1

這意味着你的查找不成功,你需要做更多的錯誤處理。

+0

該ID存在於我的數據庫中。 – Ryan 2009-11-10 17:26:59

+0

@probe正在分配從數據庫中返回的信息。 – Ryan 2009-11-10 17:30:40