Rails 重定向到带有通知消息的子域

Rails redirecting to a subdomain with a notice message

我正在根据参数将用户重定向到应用程序的子域

respond_to do |format|
      format.html {  redirect_to home_url(subdomain: params[:company]), notice: "Couldn't able to process your request, please try after some time" }
end

带有通知消息,我将用户重定向到的 html 页面看起来像

<% flash.each do |name, msg| %>
    <%= content_tag :div, msg, class: "alerts alerts-info bodyLeftPadd" %>
<% end %>

用于显示即显消息。

但这里的问题是没有显示通知消息。

是否使用子域导致此问题,因为如果删除子域并且如果我重定向到同一子域中的 url,我可以看到正在显示的闪现消息。

 respond_to do |format|
          format.html {  redirect_to home_url, notice: "Couldn't able to process your request, please try after some time" }
 end

Flash 消息存储在您的会话中,它与 cookie 相关联。 (如果您使用 cookie_store 所有会话数据都保存在 cookie 中,或者如果您使用 active_record_session 您有一个会话 cookie,它与数据库中的数据相关联)。

问题是 cookie 不会跟随您跨子域,除非您已将它们配置为。参见 Share session (cookies) between subdomains in Rails?

听起来关键部分是在配置会话存储的行中包含 domain: '.yourdomain.com'。来自 Action Controller Overview: Sessions:

Rails.application.config.session_store :cookie_store, key: '_your_app_session', domain: ".example.com"