Почему мой Flash.now не выводится после рендеринга?
У меня есть небольшая проблема, которую я не могу понять.
Обычная вспышка работает как положено.
flash[:test] = 'Blarrgh'
redirect_to etcs_url
Будет отображаться «Blarrgh», так как у меня есть этот код в моем application.html.erb
<% if flash[:test] %>
<%= flash[:test] %>
<% elsif flash.now[:test] %>
<%= flash.now[:test] %>
<% end %>
Я почти уверен, что способ отображения сообщений flash.now[:test] — это просто flash[:test], но я добавил elsif внизу на всякий случай, поскольку что-то не работает.
Почему-то, когда я делаю
flash.now[:test] = 'Blarrgh'
render :edit
Вообще ничего не появляется. Но когда я помещаю в свое представление оператор «сбой», затем проверяю значения, flash[:test]/flash.now[:test] будут иметь правильные значения. Например, ['И т. д. не может быть пустым']
Я попытался проверить распространенные ошибки: нет токена CSRF, скрытое перенаправление, рендеринг flash.now b4, использование form_with без local:true, но, глядя на мои журналы, такой проблемы нет. Я включил токен CSRF, и мой путь к журналу
In logs:
patch /etc/1
(Commit fails, rolls back)
renders application.html.erb which yields etcs/edit.html.erb which renders etcs/_form.html.erb, then renders rest of etcs/edit.html.erb
И ставлю свой flash.now b4 на рендер. Я также не использую вспомогательные функции Rails, такие как form_with.