В 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>
Чего мне не хватает?