通过 javascript 引用 ENV 变量
Referring to an ENV variable through javascript
我正在尝试设置 Google 分析,并根据环境引用不同的跟踪 ID。我有一个 google analytics 的沙盒版本,它在暂存环境中有一个 ID 运行,而 Google Analytics 的生产版本在一个环境中有另一个 ID 运行生产环境。
我将这些 id 设置为环境变量,目标是调用环境变量 ENV["GA_TRACKING_ID"] 在我的 javascript 文件中设置跟踪,并自动设置基于哪个环境的id是运行.
然而,我不断收到 ReferenceError: ENV is not defined
更新:
class @GoogleAnalytics
@load: ->
window._gaq = []
window._gaq.push ["_setAccount", GoogleAnalytics.analyticsId()]
# other GA configuration
@analyticsId: ->
gon.ga_tracking_id
GoogleAnalytics.load()
并使用已接受答案的 gem 和 ApplicationController 代码:
class ApplicationController < ActionController::Base
before_action :assign_env_variables
def assign_env_variables
gon.ga_tracking_id = ENV["GA_TRACKING_ID"]
end
end
我真的很喜欢这个 gem 用于将后端变量传递给 Javascript:
在您的 application_controller.rb 中,您可以将 before_action 过滤器添加到 运行 方法,这意味着它将加载到每个页面上。使用 gon,您可以使用这样的代码来分配变量:
class ApplicationController < ActionController::Base
before_action :assign_env_variables
def assign_env_variables
gon.ga_tracking_id = ENV["GA_TRACKING_ID"]
end
end
只要您在模板头部包含 gon 行(根据文档),您就可以在 JS 文件中的任何位置使用它来访问该变量:
gon.ga_tracking_id
我正在尝试设置 Google 分析,并根据环境引用不同的跟踪 ID。我有一个 google analytics 的沙盒版本,它在暂存环境中有一个 ID 运行,而 Google Analytics 的生产版本在一个环境中有另一个 ID 运行生产环境。
我将这些 id 设置为环境变量,目标是调用环境变量 ENV["GA_TRACKING_ID"] 在我的 javascript 文件中设置跟踪,并自动设置基于哪个环境的id是运行.
然而,我不断收到 ReferenceError: ENV is not defined
更新:
class @GoogleAnalytics
@load: ->
window._gaq = []
window._gaq.push ["_setAccount", GoogleAnalytics.analyticsId()]
# other GA configuration
@analyticsId: ->
gon.ga_tracking_id
GoogleAnalytics.load()
并使用已接受答案的 gem 和 ApplicationController 代码:
class ApplicationController < ActionController::Base
before_action :assign_env_variables
def assign_env_variables
gon.ga_tracking_id = ENV["GA_TRACKING_ID"]
end
end
我真的很喜欢这个 gem 用于将后端变量传递给 Javascript:
在您的 application_controller.rb 中,您可以将 before_action 过滤器添加到 运行 方法,这意味着它将加载到每个页面上。使用 gon,您可以使用这样的代码来分配变量:
class ApplicationController < ActionController::Base
before_action :assign_env_variables
def assign_env_variables
gon.ga_tracking_id = ENV["GA_TRACKING_ID"]
end
end
只要您在模板头部包含 gon 行(根据文档),您就可以在 JS 文件中的任何位置使用它来访问该变量:
gon.ga_tracking_id