первый запрос к логическому полю ActiveRecord со значением false дает значение true в рельсах 3 - PullRequest
0 голосов
/ 30 ноября 2010

У меня есть такой код в моем представлении:

<% @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)

Поле «присутствие» просто bool, ноль в первом элементе Несмотря на то, чточто поле присутствия первого полученного элемента равно nil, оно не возвращает class attr для первой строки (как будто это не nil или true), но вторая проверка возвращает правильное значение («Нет»).В других строках со значениями false или nil он возвращает правильные значения в обеих проверках.Это ошибка или я что-то делаю неправильно?

Rails 3.0.0, Postgres 8.4

1 Ответ

0 голосов
/ 30 ноября 2010

делает добавление? помощь присутствия ...

<% @items.each do |item| %>
<tr<%= raw(item.presence? ? '' : ' class="opaque"') %>>
...
<td><%= item.presence? ? 'Yes' : 'No' %></td>
</tr>
<% end %>
...