"找不到没有ID的用户"访问相关模型

时间:2015-05-11 17:41:33

标签: ruby-on-rails ruby database hash

更新的问题:

我正在尝试访问类的实例的id并使用它来查找该实例。以下是上下文:

  <% @affinity.each do |a| %>
    <tr>
      <td><%= a.user_A_id %></td>
      <td><%= User.find(a.user_A_id).nickname %></td>
      <td><%= a.user_B_id %></td>
      <td><%= User.find(a.user_B_id).nickname %></td>
      ...

每个affinity都有一个名为User_A_idUser_B_id的变量,它代表用户A和B的ID。我想使用这些ID来访问User的实例A和用户B,以及随后的nickname。我怎么能这样做?

我目前收到此错误:

Couldn't find User without an ID

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您定义了正确的关系,则可以直接访问这些用户:

<%= a.user_A.nickname %>

顺便说一句,您不必将这些ID转换为符号以使该代码有效,并且您可以使用User.find(a.user_A_id),因为where返回一个数组并且find返回对象如果找到了。