0

我在 erb 模板中有以下语句:

<% if @serial.hacks.find(@serial.id) %>
  <h1><%= @serial.hacks.find(@serial.id).hack_name %><h1> 
<% end %>

如果 hack_name 存在,我会尝试显示它,但是,如果它不存在,请防止出现错误。Serial 和 Hack 模型具有许多通过关系。

当我加载一个在 Serial 和 Hack 之间没有关联的页面时,我收到以下我试图阻止的错误:

Couldn't find Hack with id=2 [WHERE "hacktions"."serial_id" = 2]
4

1 回答 1

1
<% if hack = @serial.hacks.find_by_id(@serial.id) %>
  <h1><%= hack.hack_name %><h1> 
<% end %>

但是你应该使用演示者。

顺便说一句,拥有它真的很奇怪。你真正想要的是什么?serialhacksid


编辑我猜你正在寻找:

<% @serial.hacks.each do |hack| %>
  <h1><%= hack.hack_name %><h1> 
<% end %>
于 2013-03-06T16:34:03.420 回答