1

ページが https:// であるかどうかを確認し、そうである場合は http:// にリダイレクトするようにリダイレクトを作成しました。

ただし、 https:// から渡されたフラッシュメッセージを使用したいのですが、リダイレクト中に消えるため、ユーザーには表示されません。だから、私は試しflash[:notice].keepましたが、それもうまくいきません。リダイレクトが発生し、何も表示されませんが、次のページで最終的にメッセージが表示されます。ここに私のコードがあります:

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

基本的に、https:// にしたいサイトのページは 1 つしかありませんが、それを追加した後、ユーザーがアクセスする他のページには https:// があります。そのため、この before_filter をアプリケーション コントローラーに追加して、確実に http に戻すようにしました。リダイレクト時に通知が表示されるようにするにはどうすればよいですか?

また、そのメソッドのredirect_toに「:notice」を追加しようとしましたが、メッセージをパラメーターとして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 に答える