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

问题描述 投票:2回答:2

我有以下代码

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实际生产的是什么,我如何调整我的代码来修复它?谢谢。

ruby-on-rails ruby-on-rails-3 view controller slim-lang
2个回答
7
投票

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

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

0
投票

添加你的ApplicationController

add_flash_types :error
© www.soinside.com 2019 - 2024. All rights reserved.