У меня есть общий шаблон, который я регулярно использую для отображения ошибок, таких как:
<%= render "shared/flash_error", :error => flash[:error], :info => flash[:info] %>
Эти переменные не являются обязательными, поэтому мое мнение выглядит так:
<% if defined?(error) and error %>
<div class="error">
<%= error %>
</div>
<% end %>
<% if defined?(info) and info %>
<div class="info">
<%= info %>
</div>
<% end %>
Теперь есть случаи, когда мне нужно было бы добавить новую необязательную переменную и расширить частичное с другими типами ошибок. Это, однако, может усложнить рендеринг. Теперь мне нужно отредактировать каждый рендер и изменить его на:
<%= render "shared/flash_error", :error => flash[:error], :info => flash[:info], :new_entry => flash[:new_entry] %>
и так далее с каждой новой записью. Итак, мне интересно, есть ли способ для визуализируемого партиала «наблюдать» конкретные флэш-переменные, чтобы мне даже не приходилось передавать их как атрибуты в визуализированное представление?