2

所以,我有一个这样的控制器

class SomethingController < ApplicationController
  def show
    flash[:notice] = "TEST"
    redirect_to root_path(:subdomain => 'test')
  end
end

此外,我的 config/initializers/session_store.rb 中有这一行

Foo::Application.config.session_store :cookie_store, :key => '_foo_session', :domain => :all

我的问题如下。如果我转到http://example.com/something(导致上述控制器操作的路由),该操作会正确设置 flash 并重定向到适当的子域 url (http://test.example.com/)。该操作的视图正确显示了我在上一个操作中设置的闪光灯。但是,在此操作之后,flash 不会被清除 - 或者,就此而言,对相关子域的任何后续操作 - 并且会继续出现,直到我手动导航回根域 (example.com) 上的某个其他 URL,在哪一点闪存被重置并不再出现在任一域上。

如果我尝试使用

flash.now[:notice] = "TEST"

代替

flash[:notice] = "TEST"

重定向结束时的页面根本没有注册消息的存在,因此什么也不显示。

我怎样才能获得上面第一种情况中描述的功能,但它的行为应该像往常一样并在请求后清除闪存?

4

0 回答 0