2016-03-28 9 views
2

AMPバリデーターは、 "タグ 'スクリプト'は特定のフォームを除いて許可されていません"と言います。Rails AMPページでnewrelic_rpmを無効にする方法

このタグ 'script'は、newrelic_rpmによって自動的に作成されます。

私の問題は、AMPページでnewrelic_rpmを無効にする方法です。

私のAMPページのURLはhttp://example.com/foo/bar.ampのようです。

だから私はこの設定/ newrelic.ymlなどの設定を試みた:

common: &default_settings 
    license_key: foobarfoobarfoobarfoobar 

    app_name: Foobar 

    rules.ignore_url_regexes: ["amp", ".*amp"] 

development: 
    <<: *default_settings 
    app_name: FooBar (Development) 

    developer_mode: true 

をしかし、それは動作しません。

マイプロジェクト環境:

  • レール(4.1.8)
  • ルビー(2.2.3)
  • newrelic_rpm(3.14.0.305)

答えて

6

私は同じことをしました。 @ Awjeccの答えを少し微調整する

+0

あなたの他のコントローラが 'amp_request? 'を使うことはできますか? – coreyward

+0

他のコントローラは通常ApplicationControllerから継承し、そのメソッドにアクセスする必要があります – Swards

+0

'private'メソッドは継承/子クラスからアクセスできません。このため、通常は 'protected'メソッドを代わりに使用します。 – coreyward

4

私は自分自身を解決しました。

application_controller.rb

class ApplicationController < ActionController::Base 
    before_action :before_amp, 
       if: -> { request.path_parameters[:format] == 'amp' } 

    private 

    def before_amp 
    NewRelic::Agent.ignore_transaction 
    NewRelic::Agent.ignore_apdex 
    NewRelic::Agent.ignore_enduser 
    end 
end 

私は同じ状況で困っ誰かのためにこの質問をしておこう。

関連する問題