我认为我有这样的代码:
<% @items.each do |item| %>
<tr<%= raw(item.presence ? '' : ' class="opaque"') %>>
...
<td><%= item.presence ? 'Yes' : 'No' %></td>
</tr>
<% end %>
这是控制器中的请求:
@items = Item.where(:type_id => @type.id).order('brand ASC, name ASC').limit(limit).offset((@page-1)*limit)
'presence' 字段只是 bool,第一个项目中的 nil 尽管第一个获取项目的存在字段是 nil,但它不会返回第一行的类 attr(就像它不是 nil 或 true),但第二个检查返回正确的值(“否”)。在具有 false 或 nil 值的其他行中,它在两次检查中都返回正确的值。这是一个错误,还是我做错了什么?
导轨 3.0.0,Postgres 8.4