Flash和redirect_to在一行中不产生闪存

时间:2013-05-23 19:21:19

标签: ruby-on-rails ruby-on-rails-3 view controller slim-lang

我有以下代码

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实际生成的内容以及如何调整代码来修复它?感谢。

2 个答案:

答案 0 :(得分:7)

原因是因为only alert and notice可以使用此语法与redirect_to内联使用。对于任何其他闪存密钥,您需要指定:

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

答案 1 :(得分:0)

添加您的ApplicationController

add_flash_types :error