Пытаюсь использовать флэш-память сеанса Rails, но получаю nil. [] Ошибок?

<%# Flash-based notifications %>
<% if flash[:error].present? or flash[:notice].present? %>
  <div class="messages <%= flash[:error] ? 'error' : 'notice' %>">
    <ul id="feedback">
      <% if flash[:error].present? %>
        <li><%= flash[:error] %></li>
      <% end %>
      <% if flash[:notice].present? %>
        <li><%= flash[:notice] %></li>
      <% end %>
    </ul>
  </div>
<% end %>

По какой-то простой причине мой попытка чтения из флэш-памяти внутри партиала вызывает эту ошибку, потому что для флэш-памяти установлено значение nil . Нужно ли мне инициализировать ее вручную или что-то в этом роде?

Это Rails 3.1.0. ошибка находится в строке 2 фрагмента кода, где он пытается получить доступ к flash [: error] .

You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.[]

Мне что-то не хватает. Я определенно нигде не отменяю его.

5
задан d11wtq 23 September 2011 в 17:24
поделиться