У меня была такая же проблема со следующим кодом:
redirect_to(docs_path, :warning => "I am here!!!") and return if @doc.nil?
с использованием «: уведомление» и «: предупреждение» вместо «: предупреждение» работает, как и ожидалось. Кажется, что вы можете установить: alert и: alert непосредственно в методе перенаправления, но не: error и: warning.
Тестирование на flash [: предупреждение] .nil? в следующем действии выдает истину, но flash [: note] .nil? является ложным (т. е. вспышка: предупреждение не установлено, но установлено: уведомление).
Чтобы обойти это, я установил значение flash [: warning] перед перенаправлением так:
if @doc.nil?
flash[:warning] = "I am here!!!"
redirect_to(docs_path) and return
end
Это не так элегантно, но работает!