Неопределенный метод "ломтик"
В моем приложении Rails 4.2.0 у меня есть следующий код внутри шаблона представления:
<% if flash[:tutorial].present? %>
<% flash.slice(:tutorial) %>
<% end %>
<% flash.each do |name, msg| %>
<div class="flash <%= name %>">
<p>
<%= msg %>
</p>
</div>
<% end %>
Однако выдает ошибку:
Undefined method 'slice' for #<ActionDispatch::Flash::FlashHash:0x0818>
У кого-нибудь есть идея, чего мне не хватает или как заставить это работать?
1 ответ
Решение
flash
не хэш Это объект, который ведет себя (частично) как хэш. Здесь нет slice
метод на это.
Неясно, чего вы пытаетесь достичь slice
здесь (так как вы не выводите результаты, и результаты в любом случае не имеют смысла выводить), но если вы пытаетесь достичь того, что slice
Если хеш достигнут, вы можете просто создать новый хеш:
<% { tutorial: flash[:tutorial] } %>