0

外部 URL の URL リファラーを取得するのに苦労しているようです。

私のアプリは、人々がサイトに含めているスクリプトを介して実行されます。

そのようです-

<script src="http://0.0.0.0:3000/load.js?upid=10b829af3eef17eb203667f5db56ef930eca062fde4a523b" type="text/javascript"></script>

ページがヒットしてスクリプトが読み込まれると、レコードを検索するために upid が使用されるコントローラー アクションにちょうど一致します。

そのアクションは次のようになります。

  def remote
    @page = Page.find_by_upid(params[:upid])
    respond_to do |format|
      format.js
    end    
  end

そのスクリプト タグがどこに埋め込まれているかを確認したいので、参照 URL を確認しようとしています。

私は運が0で次のことを試しました:

    logger.debug "r test: #{request.env['HTTP_REFERER']}"
    logger.debug "r test: #{request.referer}"
    logger.debug "r test: #{request.original_url}"

それらはすべて空白を返すかhttp://0.0.0.0:3000/load.js?upid=10b829af3eef17eb203667f5db56ef930eca062fde4a523b、script タグからこの URL を返します。

どんな助けでも素晴らしいでしょう

4

1 に答える 1

0

今後の参考のために、スクリプトタグに含まれるファイル内で、JavaScriptを介してURLを取得することでこれを解決しました。次に、そのファイルは最初に Rails によって処理されるため、それを erb タグを使用してメソッド呼び出しに送信し、目的の処理を行うことができました。

于 2013-02-13T16:47:49.953 に答える