Ruby on rails Can';无法从id中找到记录

Ruby on rails Can';无法从id中找到记录,ruby-on-rails,ruby,Ruby On Rails,Ruby,有人知道我会错过什么吗 这是我的密码: <% @comments.each do |comment| %> <tr> <%= @cId = comment.store_id %> <td><%= Store.find(@cId).title %></td> <td><%= comment.description %></td> <% end %> 如果我打印出@cId=c

有人知道我会错过什么吗

这是我的密码:

<% @comments.each do |comment| %>
<tr>
 <%= @cId = comment.store_id %>
<td><%=  Store.find(@cId).title %></td>
<td><%= comment.description %></td>
<% end %>
如果我打印出
@cId=comment.store\u id
,我会得到: 90878789898987898987898789226223

另外,如果我硬编码如下:
Store.find(90)
它可以工作

不要在
cId
中使用
@
,@使其成为您不需要的实例变量。也不要称它为
cId
,而是
store\u id
,因为它就是这样

你可能有一个没有商店id的评论,当然在你的视图中打印它不会显示任何东西

<% @comments.each do |comment| %>
<tr>
  <td>
    <% if comment.store_id %><%= Store.find(comment.store_id).title %><% end %>
  </td>
  <td><%= comment.description %></td>
<% end %>


我打赌你的
属于:将
存储在
评论中,阅读《关系指南》,你会发现你可以进一步改进你的代码。

我发现了我的问题。我没有测试零值。因此我添加了一个if nil。

检查
store\u id
的值。您可以在视图中尝试使用
<% @comments.each do |comment| %>
<tr>
  <td>
    <% if comment.store_id %><%= Store.find(comment.store_id).title %><% end %>
  </td>
  <td><%= comment.description %></td>
<% end %>