Я пытался очистить application.html.erb
, переместив части макета в частичные.У меня был следующий код для обработки ошибок / уведомлений флэш-памяти:
<div id="flash">
<% if flash[:notice] %>
<h3 class="info_box"><%= flash[:notice] %></h3>
<% end %>
<% if flash[:error] %>
<h3 class="error_box"><%= flash[:error] %></h3>
<% end %>
</div>
Этот код прекрасно работал в application.html.erb
, пока я не переместил его в файл с именем "_flash.html.erb
" и заменил его следующим:
<%= render 'layouts/flash' %>
В частичном случае хэш-память флэш-памяти не была распознанным объектом и вызывает «У вас нулевой объект, когда вы его не ожидали!»ошибка.
Я переместил код обратно в application.html.erb и все хорошо.Но я не мог найти ответ для доступа к флеш-хэшу в частичном.Глядя на Руководство по Rails для «Рендеринга и макетов», я вижу, что у render()
есть различные способы передать переменные в партиал, но мне не удалось его выяснить.Есть идеи?