所以,我有一个这样的控制器
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"
重定向结束时的页面根本没有注册消息的存在,因此什么也不显示。
我怎样才能获得上面第一种情况中描述的功能,但它的行为应该像往常一样并在请求后清除闪存?