だから、私はこのようなコントローラを持っています
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 (上記のコントローラー アクションにつながるルート) に移動すると、アクションはフラッシュを正しく設定し、適切なサブドメイン URL (http://test.example.com/) にリダイレクトします。そのアクションのビューには、前のアクションで設定したフラッシュが正しく表示されます。ただし、このアクションの後、または問題のサブドメインでのその後のアクションの後、フラッシュはクリアされず、ルート ドメイン (example.com) の他の URL に手動で戻るまで表示され続けます。その時点でフラッシュがリセットされ、どちらのドメインにも表示されなくなります。
使おうとしたら
flash.now[:notice] = "TEST"
それ以外の
flash[:notice] = "TEST"
リダイレクトの最後のページはメッセージの存在をまったく登録しないため、何も表示されません。
上記の最初のケースで説明されている機能を取得するにはどうすればよいですか?ただし、通常どおりに動作し、要求後にフラッシュをクリアしますか?