рендеринг по состоянию, рельсы - PullRequest
1 голос
/ 21 октября 2010

У меня есть форма, отображающая вложенные отношения. Вызов для рендеринга вложенных дочерних объектов выполняется следующим образом:

<% if @fpimgblocks %>
  <% f.fields_for @fpimgblocks do |builder| %>
    <%= render 'fpimgblock_fields', :f => builder %>
  <% end %>
<% end %>

@ fpimgblocks - результат поиска, я проверил, что результатов нет, поэтому я ожидаю, что он не будет отображаться Однако частичное рендеринг даже через объект не инициализируется. Это тогда возвращает ошибку nil_class, когда я фиксирую форму.

Синтаксис в операторе if неправильный или что-то в этом роде? Я пытался изменить на "разве что @ fpimgblocks.nil?", Но без изменений.

1 Ответ

6 голосов
/ 21 октября 2010

@fpimgblocks не равно нулю, как вы ожидаете.Поскольку это результат поиска, на самом деле это пустой массив.Измените это:

<% if @fpimgblocks %>

на это:

<% unless @fpimgblocks.empty? %>

И это будет работать.Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...