Возможно ли получить доступ к Rails.env
как-то напрямую через javascript/jQuery?
Я мог бы поместить что-то в DOM, а затем прочитать его, но это кажется немного хакерским. В частности, я хотел бы иметь возможность сделать условное утверждение в javascript на основе того, тестируется ли среда, ее разработка, постановка или производство.
Оказывается, это возможно без чтения из DOM; решение для меня состояло в том, чтобы вставить переменную окружения в файл js перед предварительной компиляцией.
Измените myfile.js.coffee
на myfile.js.coffee.erb
а затем вставьте с Ruby то же, что и в представлении, и т. Д.:
environment = "<%= Rails.env %>"
Rails находится на сервере. jQuery находится на клиенте. Вы должны каким-то образом предоставить информацию с сервера клиенту. Типичным способом является вывод немного JavaScript с использованием кода на стороне сервера, например:
<script>
var environment = "<%= Rails.env %>";
</script>
... при условии, что значение не будет иметь двойных кавычек в нем. Rails предположительно имеет эквивалент PHP json_encode
вы могли бы использовать в случае необходимости.