我认为我有这样的代码:
<% @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,但它不返回第一行的类attr(如它不是nil或true),但第二个检查返回正确的值('No')。在具有false或nil值的其他行中,它在两个检查中都返回正确的值。这是一个错误,还是我做错了?
Rails 3.0.0,Postgres 8.4
答案 0 :(得分:0)
确实添加了?在场帮助...
<% @items.each do |item| %>
<tr<%= raw(item.presence? ? '' : ' class="opaque"') %>>
...
<td><%= item.presence? ? 'Yes' : 'No' %></td>
</tr>
<% end %>