0

私の見解では、そのようなコードがあります。

<% @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最初に取得されたアイテムのpresenceフィールドはnilですが、最初の行のクラスattrは返されません(nilまたはtrueではないなど)が、2番目のチェック正しい値(「いいえ」)を返します。falseまたはnil値を持つ他の行では、両方のチェックで正しい値を返します。それはバグですか、それとも私は間違っていますか?

Rails 3.0.0、Postgres 8.4

4

1 に答える 1

0

を追加しますか?プレゼンスヘルプに...

<% @items.each do |item| %>
<tr<%= raw(item.presence? ? '' : ' class="opaque"') %>>
...
<td><%= item.presence? ? 'Yes' : 'No' %></td>
</tr>
<% end %>
于 2010-11-29T21:20:01.780 に答える