这有助于在单个“项目”显示页面上显示 访问 Rails 中链接模型的属性
但是我在为“所有项目表”做同样的事情时遇到了麻烦
...
<% @items.each do |item| %>
...
<td><%= item.room.name %></td>
...
很明显,一个房间有很多物品。
只有这个有效:
<td><%= item.room_id %></td>
我似乎无法在那里使用它,给出:
undefined method `name' for nil:NilClass
这有助于在单个“项目”显示页面上显示 访问 Rails 中链接模型的属性
但是我在为“所有项目表”做同样的事情时遇到了麻烦
...
<% @items.each do |item| %>
...
<td><%= item.room.name %></td>
...
很明显,一个房间有很多物品。
只有这个有效:
<td><%= item.room_id %></td>
我似乎无法在那里使用它,给出:
undefined method `name' for nil:NilClass
看看 Rails 的Delegate模块:
class Item < ActiveRecord::Base
# ...
delegate :name, :to => :room, :allow_nil => true, :prefix => :room
end
这会将实例方法添加room_name到Item,这将更优雅地失败(nil如果没有空间则返回,而不是NilClass错误)。