ActionView :: TemplateError(nil的未定义方法`name':NilClass)

时间:2012-02-17 00:31:11

标签: ruby-on-rails ruby ruby-on-rails-3 rubygems

我在日志中收到以下错误:

app / views / notices / _nsv_data.html.erb第18行的ActionView :: TemplateError(未定义的方法`name'代表nil:NilClass):

代码:

<table border="0" cellspacing="0" cellpadding="0">
<% System.get_systems_in_display_order.each do |sys| -%>
    <tr>
        <td>
          <%= check_box_tag "systems[][id]", sys.id, nsv_data.has_system?(sys.id) %>
          <%= sys.name %>
          <% if sys.can_has_version? -%>
              <br/>
            <% options = options_for_select( sys.get_system_version_select_options, nsv_data.system_version_ids( sys.id ) ) -%>
            <%= select_tag "system_versions[#{sys.id}]", options, { :multiple => true, :size => 5, :id => "system__versions", :class => "system__box" } %>
          <% end -%>
      </td>
  </tr>
<% end -%>
<tr>
    <td>
        <%= check_box_tag "has_other", 1, nsv_data.has_other_system? %>
        Other <%= text_field_tag "other_system[name]", nsv_data.other_system.name %>
    </td>
</tr>

我正在尝试处理的数据是:

处理NoticesController #update(适用于2012-02-16 14:21:39的155.70.39.45)[PUT]   会话ID:c5af3ddbc05df2759e9824d62398aab2   参数:{“commit”=&gt;“更新”,“other_system”=&gt; {“name”=&gt;“”},“notice”=&gt; {“closed_at(4i)”=&gt;“”,“ internal“=&gt;”0“,”severity“=&gt;”3“,”resolution“=&gt;”“,”isc_ticket_id“=&gt;”“,”will_call_code“=&gt;”“,”closed_at(5i) )“=&gt;”“,”ima_table_override“=&gt;”0“,”调查“=&gt;”0“,”will_call_at(1i)“=&gt;”“,”关闭“=&gt;”0“, “onset(1i)”=&gt;“2011”,“will_call_at(2i)”=&gt;“”,“region_ids”=&gt; [“4”],“onset(2i)”=&gt;“12”, “estimated_resolution(1i)”=&gt;“2012”,“description”=&gt;“当移植线路有HSI时,列表可能无法迁移(ACT = Z和REQTYP = HB)。”,“severity_reason”=&gt;“最小损失功能“,”will_call_at(3i)“=&gt;”“,”ticket_id“=&gt;”5352829“,”onset(3i)“=&gt;”12“,”estimated_resolution(2i)“=&gt;”3 “,”“workaround”=&gt;“提供商应通过每月验证证明报告或DLIS验证所有列表已成功迁移。如果您确定某个列表尚未迁移且与已移植的TN与HSI相关联,请联系您的列表帐户Ma nps for help。“,”closed_at(1i)“=&gt;”“,”onset(4i)“=&gt;”09“,”estimated_resolution(3i)“=&gt;”17“,”will_call_at(4i)“ =&gt;“”,“will_call_at(5i)”=&gt;“”,“closed_at(2i)”=&gt;“”,“onset(5i)”=&gt;“07”,“event_error_msg”=&gt;“ “,”estimated_resolution(4i)“=&gt;”“,”closed_at(3i)“=&gt;”“,”new_document_attributes“=&gt; [{”uploaded_document“=&gt;#}],”escalation“=&gt; “”,“影响”=&gt;“当行移植具有HSI时,列表可能不会迁移(ACT = Z和REQTYP = CB)。”,“estimated_resolution(5i)”=&gt;“”},“action”=&gt; “update”,“_ method”=&gt;“put”,“authenticity_token”=&gt;“2c84900beb41fec0fda516b6f022c975fb37148c”,“systems”=&gt; [{“id”=&gt;“1”},{“id”=&gt; “7”},“id”=&gt;“1554”,“controller”=&gt;“通知”} 在layouts / main中渲染模板 渲染通知/编辑

2 个答案:

答案 0 :(得分:0)

只需添加sys.try(:name)即可。您可能也想检查this

答案 1 :(得分:0)

这是数据库的一个问题,我刚刚重新部署了数据库并且它已修复,这意味着代码很好。

但是,非常感谢您尝试提供帮助:)