0

erb テンプレートに次のステートメントがあります。

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

存在する場合は hack_name を表示しようとしていますが、存在しない場合はエラーを防ぎます。Serial モデルと Hack モデルは、has many through 関係を共有しています。

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 に答える