0

私は2つのテーブルを持っています:

Chords -     |id|chord|name|rating|artist_id|
Artists -    |id|artist|

AnArtistは多くChordの を持っているため、 aChordは an に属しArtistます。

そして、「和音」のインデックスページに、和音テーブルから和音、名前、評価を表示し、アーティストテーブルからアーティストを表示したい

これはChordの index.html.erb のコードです。

<table border="1">
  <% @chords.each do |chord| %>
    <tr>
       <td><%= chord.artist.artist %></td>
       <td><%= link_to chord.name, chord %></td>
       <td><%= chord.rating %></td>
       <td><%= chord.created_at %></td>
    </tr>
  <% end %>
</table>

エラーメッセージは次のとおりです。

nil:NilClass の未定義メソッド「アーティスト」

実際、最初はうまくいきましたが、「new.html.erb」ページと create および new アクションの作成を開始すると、動作しなくなりました。

4

3 に答える 3

0

あなたが使用することができます <td><%= chord.artist.artist unless chord.artist.artist.nil? %></td>

于 2012-04-08T17:58:59.563 に答える
0

chort.artistnull になる可能性があるため、 which の短縮形に変更する必要がありchord.artist.artistますchord.artist.try(:artist)

if chord.artist.nil?
  nil
else
  chord.artist.artist
end
于 2012-04-08T17:52:48.767 に答える