3

クライアントにページを提供しようとすると、クライアントで次のエラーが発生します。

(KeyError) キー :id が見つかりません: %Phtest.Jobs{"@class": "Job", "@rid": "#13:0", "@type": "d", "@version": 1, description: "öoisajdf sadöflkjasdfö lkj", job_status: "Open", job_type: "Developer", title: "Foo"} Stacktrace

(phtest) web/templates/page/index.html.eex:27: Phtest.PageView."-index.html/1-lc$^0/1-0-"/1
(phtest) web/templates/page/index.html.eex:16: Phtest.PageView."index.html"/1
...

以前は機能していましたが、モデルを変更しjob.idjob."@rid". 私のテンプレートは次のようになります。

<ul class="list-unstyled" style="">
  <%= for job <- @jobs do %>
  <li class="job-list">
    <div class="row">
      <div class="col-md-9">
        <a href="/jobs/<%= job."@rid" %>">
          <span class="title"><%= job.title %></span>
          <span class="label label-success"><%= job.job_type %></span>
          <span class="label label-default"><%= job.job_status %></span>
        </a>
      </div>
      <div class="col-md-3 buttons" style="text-align: right">
        <!-- <form method="post" action="<%= job_path(:destroy, job.id) %>"> -->
        <a href="/jobs/<%= job."@rid" %>/edit" class="btn btn-warning btn-sm">
          Edit</a> &nbsp;&nbsp;
          <a href="/jobs/<%= job."@rid" %>?action=delete" class="btn btn-default btn-sm">
            Delete</a>
<!--          <input type="hidden" name="_method" value="DELETE">
          <button type="submit" class="btn btn-default btn-sm">Delete</button>
        -->
      </div>
    </div>
  </li>
  <% end %>
</ul>
4

1 に答える 1

3

スタック トレースの最初の行は、エラーがテンプレート内のどこにあるかを示しています。

テンプレートは、job.idHTML コメント ブラケット内にあるにもかかわらず、まだ評価されている古いものを参照しています。に修正するかjob."@rid"、コードを完全に削除するか、次のように EEx テンプレート コードをコメント アウトします。

<!-- <form method="post" action="<%= #job_path(:destroy, job.id) %>"> -->
于 2014-11-13T22:16:06.100 に答える