3

我有以下代码

redirect_to questionnaire_url, error: "Now please fill in the questionnaire."

通常,如果我flash[:notice]在重定向上方设置一个值,则 Flash 会显示在我的页面上,但是当我使用上面的代码时,它不会。

我显示闪光灯的代码是

- flash.each do |key, value|
  = content_tag(:div, value, class: "alert alert-#{key}")

写完后= flash.inspect我收到了

#<ActionDispatch::Flash::FlashHash:0x000000044322f0 @used=#<Set: {}>, @closed=false, @flashes={}, @now=nil>

这当然是使用 SLIM 模板语言编写的。我的问题是notice实际产生了什么,我该如何调整我的代码来修复它?谢谢。

4

2 回答 2

7

原因是因为只有alert并且notice可以内联redirect_to使用这种语法。对于任何其他闪存密钥,您需要指定:

redirect_to questionnaire_url, flash: {error: "Now please fill in the questionnaire."}
于 2013-05-23T19:56:07.630 回答
0

添加你的ApplicationController

add_flash_types :error
于 2019-04-09T19:50:49.807 回答