我有一个yml文件,我需要在脚本中的application.js文件中使用密钥。我无法从脚本访问它。请帮我。我在初始化器中有以下几行
APP_CONFIG = YAML.load_file("#{Rails.root}/config/filename.yml")[Rails.env]
我的yml文件中有以下键
development:
key1: 782364764527225794828437
key2: sdjfbjs7e834284383984729
key3: 73465365egfrf36462874727
我以以下方式访问application.js文件中的密钥
APP_CONFIG['key1']
但似乎什么也没有。但是当我在 View 主体中打印相同的内容时
<%= APP_CONFIG['key1'] %>
然后它返回key1的值。
我应该怎么做才能访问application.js文件中的值。它也不能在 View 本身的脚本主体中工作。
最佳答案
您无法在Javascript文件中执行ruby命令
您需要找出其他方法在application.js中加载值
就像在app/views/layouts/application.html.erb
中将它们初始化为全局变量一样
<script>
var key = '<%= APP_CONFIG['key1'] %>';
</script>
并在任何Javscript文件中使用
window.onload=function(){ alert(key);};