1

我写了一个重定向,所以它检查页面是否是 https://,如果是,它会将其定向到 http://。

但是,我想使用从 https:// 传递的 Flash 消息,但在重定向期间它会消失,因此它永远不会向用户显示。所以,我试过flash[:notice].keep了,但这也不起作用。重定向发生,什么都没有出现,但是在下一页它最终显示了消息。这是我的代码:

  def turn_off_https
    if (request.ssl? && params[:controller] != 'subscriptions')
      flash[:notice].keep
      redirect_to :subdomain => "www", :protocol => "http://"
    end
  end

基本上我的网站只有 1 个页面我想要 https:// 但添加后,用户访问的任何其他页面都有 https://,即使我不想要。这就是为什么我将这个 before_filter 添加到应用程序控制器以确保切换回 http。如何确保在重定向时显示通知?

我还尝试在该方法中将“:notice”添加到redirect_to,但这只是将消息作为参数放在URL中,实际上并没有将其加载到页面上

4

1 回答 1

0

根据Rails API

flash.keep            # keeps the entire flash
flash.keep(:notice)   # keeps only the "notice" entry, the rest of the flash is discarded
于 2013-09-02T15:22:50.410 回答