Ruby on rails 即时消息在IE中显示不一致

Ruby on rails 即时消息在IE中显示不一致,ruby-on-rails,ruby-on-rails-3,internet-explorer,flash-message,Ruby On Rails,Ruby On Rails 3,Internet Explorer,Flash Message,我有一个奇怪的问题,即时消息没有出现在IE中(尝试了8和9): 它始终适用于其他浏览器 问题仅出现在一个页面上(此页面根据参数呈现不同的表单) flash消息总是出现在开发时,但有时只出现在暂存和生产时 我看到在所有情况下都会记录flash消息,[注意]您的更改已保存。下一步…,即使它没有出现在页面上 错误闪光信息总是出现,这是通知不正常工作 以下是我的更新操作: def update @form = Forms::Events::EditForm.build_for(@event,

我有一个奇怪的问题,即时消息没有出现在IE中(尝试了8和9):

  • 它始终适用于其他浏览器
  • 问题仅出现在一个页面上(此页面根据参数呈现不同的表单)
  • flash消息总是出现在开发时,但有时只出现在暂存和生产时
  • 我看到在所有情况下都会记录flash消息,
    [注意]您的更改已保存。下一步…
    ,即使它没有出现在页面上
  • 错误闪光信息总是出现,这是通知不正常工作

以下是我的更新操作:

def update 
  @form = Forms::Events::EditForm.build_for(@event, params[:event])
  if @form.save
    redirect_to edit_challenge_path(@form.event, form: @form.event_name), notice: "Your changes have been saved. #{@form.next_form}".html_safe
  else
    flash.now[:alert] = "Please correct the errors highlighted below."
    render "groups/events/edit"
  end
end

对可能出现的问题有什么看法吗?

同意@AnthonyAlberto的评论。你想要的是flash的
.now
方法,例如
flash。now[:alert]=…
这里有一个。

flash
应该与重定向一起使用,这里你只是渲染一个视图,也许这就是为什么?要在Anthony的评论基础上使用
flash
进行重定向和
flash。now
进行渲染。谢谢。你说得对,我应该在这种情况下使用
。现在
。但是这个一直在工作。这是一条成功的闪光消息,但它并没有持续地发挥作用……哦。人力资源管理。通常我只会使用bash IE等等,但这实际上与浏览器无关——它是简单的HTML rails呈现,应该可以正常工作。您是否已经完成了查看源代码的工作?可能是因为CSS问题,它没有显示出来。。。在这种情况下,我真的可以抨击IE:-)遗憾的是,不,这不仅仅是CSS,flash不在那里。我不知道这是谁的错,但在某种程度上它肯定与IE有关,因为它在其他浏览器中100%的时间都能工作。。。这是在一个非常使用的网站的一部分,所以我相信这一点。老鼠!好的,然后进行一些调试。闪光灯只是一个物体,你应该这样做。它使用会话,这是浏览器负责管理的一种特殊形式的cookie。因此,您应该能够在给定的时间点检查它,例如,
logger.debug“Flash包含#{Flash.inspect}”
或调用其他方法。我添加了调试消息:更新操作->正确保存表单->重定向到使用通知集编辑操作->编辑操作->渲染编辑视图。在所有浏览器上,在“编辑”操作中,都会设置flash。在ie8上,它不是。我检查了配置,会话存储是:cookie\u存储,键为:“\u cp\u session”。我检查了这个饼干的大小,它不到1公里。因此,它远没有达到极限(我认为这可能是问题所在…)。我不知道发生了什么事。无论如何谢谢你的帮助。