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 %>