Ruby 在脚本中插入 ENV[api_key]
Ruby insert ENV[api_key] in script
在 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>
我错过了什么?
appid: '<%= ENV["api_key"] %>'
怎么样?
我会做:
<%== ENV['api_key'].to_json %>
在 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>
我错过了什么?
appid: '<%= ENV["api_key"] %>'
怎么样?
我会做:
<%== ENV['api_key'].to_json %>