0

これは、個々の「アイテム」表示ページに表示するのに役立ちまし た Rails でリンクされたモデルの属性にアクセスする

ただし、「すべての項目のテーブル」に対して同じことを行うのに問題があります

...
<% @items.each do |item| %>
...
<td><%= item.room.name %></td>
...

明らかに1つの部屋には多くのアイテムがあります。

これだけが機能します:

<td><%= item.room_id %></td>

私はそこでそれを使用できないようです、与えます:

undefined method `name' for nil:NilClass
4

1 に答える 1

3

Rails のDelegateモジュールを見てください。

class Item < ActiveRecord::Base
  # ...
  delegate :name, :to => :room, :allow_nil => true, :prefix => :room
end

これにより、インスタンス メソッドが に追加room_nameされ、より適切に失敗します (空きがない場合は、エラーではなくItem戻ります)。nilNilClass

于 2012-11-29T19:55:16.907 に答える