0

Railsコントローラー内で「top.location.href」javascriptタイプのリダイレクトを行う同等の方法はありますか? 最終的には、iframe の外のコントローラーで before_filter リダイレクトを実行したいと考えています。

4

1 に答える 1

2

あなたが望むものを達成するためのRailsメソッドが組み込まれているとは思いません。ただし、次のように JavaScript をインラインでレンダリングできます。

class FooBarController < ApplicationController
  before_filter :inline_redirect

  def inline_redirect
    if some_condition
      render :layout => false, :inline => '<script>window.top.location = "http://someurl.com";</script>'
    end
  end
end

しかし、それは本当にベストプラクティスではないと思います。実際にビューを作成し、そこに JavaScript を配置する必要があります。一部のユーザーは JavaScript を無効にしている可能性があるため、そのシナリオも処理する必要があることに注意してください。

于 2012-04-30T10:59:05.013 に答える