Rails:"undefined 方法'per_code' for nil:nilClass' 链接来自不同对象模型的信息



我正在为我的应用程序创建一个管理页面,其中有一个表显示user数据。每个user都完成了几个小测验。在每个测验(per_quiz, bal_quiz等)中,该页上都有一个需要报告的代码(列为per_quiz模型中的per_code, bal_quiz模型中的bal_code等)。

每个user has_one bal_quiz(和per_quiz等等)和每个per_quiz belongs_to一个user

我试着这样称呼它:

<% @users.each do |u| %>
  <tr>
    <td><%= u.id %></td>
    <td><%= u.first_name %></td>
    <td><%= u.last_name %></td>
    <td><%= u.per_quiz.per_code %></td>
    <td><%= u.bal_quiz.bal_code %> (Balance)
      <br><%= u.flex_quiz.flex_code %> (Flexibility)
    </td>
  </tr>
<% end %>

在我的controller我有@users = User.order("last_name DESC")

我得到的错误是在视图的<td>行上调用undefined method 'per_code' for nil:NilClass

谁能帮我弄清楚为什么这不起作用?我有类似的erb在应用程序的其他地方,这种语法工作…

这是由于u.per_quiz等于nil。试着解决这个问题:

<td><%= u.try(:per_quiz).try(:per_code) %></td>

最新更新