Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过javascript引用环境变量_Javascript_Ruby On Rails_Google Analytics_Environment Variables - Fatal编程技术网

通过javascript引用环境变量

通过javascript引用环境变量,javascript,ruby-on-rails,google-analytics,environment-variables,Javascript,Ruby On Rails,Google Analytics,Environment Variables,我正在尝试设置Google Analytics,并根据环境引用不同的跟踪ID。我有一个沙箱版的google analytics,它有一个id,在登台环境中运行;还有一个生产版的google analytics,它有另一个id,在生产环境中运行 我将这些ID设置为环境变量,目标是调用环境变量ENV[“GA_TRACKING_ID”]在我的javascript文件中设置跟踪,并根据运行的环境自动设置ID 但是,我不断得到ReferenceError:ENV未定义 更新: 并使用accepted an

我正在尝试设置Google Analytics,并根据环境引用不同的跟踪ID。我有一个沙箱版的google analytics,它有一个id,在登台环境中运行;还有一个生产版的google analytics,它有另一个id,在生产环境中运行

我将这些ID设置为环境变量,目标是调用环境变量ENV[“GA_TRACKING_ID”]在我的javascript文件中设置跟踪,并根据运行的环境自动设置ID

但是,我不断得到
ReferenceError:ENV未定义

更新:

并使用accepted answer的gem和应用程序控制器代码:

class ApplicationController < ActionController::Base
  before_action :assign_env_variables

  def assign_env_variables
    gon.ga_tracking_id = ENV["GA_TRACKING_ID"]
  end
end
class ApplicationController
我非常喜欢这个将后端变量传递给Javascript的gem:

在应用程序_controller.rb中,您可以添加一个before_操作过滤器来运行一个方法,这意味着它将在每个页面上加载。使用gon,您可以使用如下代码来分配变量:

class ApplicationController < ActionController::Base
  before_action :assign_env_variables

  def assign_env_variables
    gon.ga_tracking_id = ENV["GA_TRACKING_ID"]
  end
end

显示如何从javascript调用它,以及从哪个文件调用它。@SimoneCarletti在GoogleAnalytics.load函数中,
窗口。_gaq.push[“_setAccount”,GoogleAnalytics.Analytics()]
在analyticsId()函数中,
ENV['GA\u TRACKING\u ID']
最后调用
GoogleAnalytics.load()
请提供完整的代码。现在还不清楚您是否将ENV放置在Ruby块中,以及从哪个模板中放置。非常感谢!!工作得很有魅力。
class ApplicationController < ActionController::Base
  before_action :assign_env_variables

  def assign_env_variables
    gon.ga_tracking_id = ENV["GA_TRACKING_ID"]
  end
end
gon.ga_tracking_id