ruby на рельсах ошибка nil.to_sym - PullRequest
0 голосов
/ 10 ноября 2009

Я даже не уверен, как это сломалось. И я действительно не знаю, что означает ошибка. Это работало ранее.

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

Это также происходит с действием index

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.

EDIT

Для действия index оно связано с датчиком в ссылке на.

РЕДАКТИРОВАТЬ 2 Я изменил датчик на edit_probe_path (probe.id), и это работает. Я все еще не уверен, почему страница редактирования все еще не работает.

Ответы [ 2 ]

1 голос
/ 10 ноября 2009

Это означает, что ваш поиск оказался неудачным, и вам нужно больше обрабатывать ошибки.

0 голосов
/ 10 ноября 2009

Это было связано с настройкой моих ссылок. Похоже, что после того, как они с ними связались, проблема была решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...