Доступ к переменной Rails.env в jQuery?

0

Возможно ли получить доступ к Rails.env как-то напрямую через javascript/jQuery?

Я мог бы поместить что-то в DOM, а затем прочитать его, но это кажется немного хакерским. В частности, я хотел бы иметь возможность сделать условное утверждение в javascript на основе того, тестируется ли среда, ее разработка, постановка или производство.

Теги:
ruby-on-rails-3

2 ответа

0
Лучший ответ

Оказывается, это возможно без чтения из DOM; решение для меня состояло в том, чтобы вставить переменную окружения в файл js перед предварительной компиляцией.

Измените myfile.js.coffee на myfile.js.coffee.erb а затем вставьте с Ruby то же, что и в представлении, и т. Д.:

environment = "<%= Rails.env %>"
5

Rails находится на сервере. jQuery находится на клиенте. Вы должны каким-то образом предоставить информацию с сервера клиенту. Типичным способом является вывод немного JavaScript с использованием кода на стороне сервера, например:

<script>
var environment = "<%= Rails.env %>";
</script>

... при условии, что значение не будет иметь двойных кавычек в нем. Rails предположительно имеет эквивалент PHP json_encode вы могли бы использовать в случае необходимости.

Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню