【发布时间】:2018-04-25 10:15:05
【问题描述】:
在 application.yml 我有api_key: 1234567890
如果我这样做(直接插入 api 键 'appid')它会起作用(小部件显示和填充):
<script>
window.myWidgetParam ? window.myWidgetParam : window.myWidgetParam = []; window.myWidgetParam.push({id: 15,cityid: '2643743',appid: '1234567890' %>,units: 'metric',containerid: 'openweathermap-widget-15', }); (function() {var script = document.createElement('script');script.async = true;script.charset = "utf-8";script.src = "//openweathermap.org/themes/openweathermap/assets/vendor/owm/js/weather-widget-generator.js";var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(script, s); })();
</script>
但如果我这样做(插入 <%= ENV["api_key"] %>)它不会(由于 api 键周围缺少引号,小部件不显示):
<script>
window.myWidgetParam ? window.myWidgetParam : window.myWidgetParam = []; window.myWidgetParam.push({id: 15,cityid: '2643743',appid: <%= ENV["api_key"] %>,units: 'metric',containerid: 'openweathermap-widget-15', }); (function() {var script = document.createElement('script');script.async = true;script.charset = "utf-8";script.src = "//openweathermap.org/themes/openweathermap/assets/vendor/owm/js/weather-widget-generator.js";var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(script, s); })();
</script>
我错过了什么?
【问题讨论】:
-
该文件的名称是什么,它是如何呈现的?我打赌它的名称中没有
.erb。 -
home.html.erb ;)
-
定义“不起作用”。 api 键是否正确呈现在页面上?你可能会发现你忘了添加一些东西。
-
后续问题确实无关/超出范围。
-
@SergioTulentsev 这是否超出范围:如何隐藏 api 密钥?
标签: ruby-on-rails ruby openweathermap