Как напечатать переменную из файла JS в консоли? - PullRequest
1 голос
/ 11 апреля 2019

Я новичок в JS и начал использовать его с рельсами.Я хочу проверить, какое значение переменной передается.Я посмотрел в интернете и обнаружил, что мы должны использовать console.log(var_name);' and it gets displayed in console window in окно браузера` ( ctrl + shift + j ) в Firefox.Но при проверке ничего не отображается.Ниже приведен мой код:

customer.js.erb file


console.log(@customer);

Но приведенное выше ничего не отображает в консоли.

Это правильный синтаксис?И вывод должен отображаться в browser window/console или где-то еще?

Ответы [ 2 ]

0 голосов
/ 11 апреля 2019

Правильный путь - это что-то вроде

console.log("#{@customer.name}")

вам нужно интерполировать код рубина в '' или ""

0 голосов
/ 11 апреля 2019

console.log(...) выглядит как JavaScript. @customer выглядит как Руби. Вы не можете напечатать переменную Ruby в JavaScript - они выполняются в разное время, в разных средах. Если вы используете файл EJS (не JS), тогда вы можете сделать

console.log(<%= @customer.to_json %>)

, который вставит значение @customer в Ruby во время передачи файла JS; но это, скорее всего, не то, что вы хотите. Почти во всех случаях вы хотите либо визуализировать переменную Ruby внутри HTML-кода, либо передать значение серверной переменной в код JavaScript с помощью запроса AJAX, либо отобразить его внутри HTML-кода следующим образом:

<script>
  var customer = <%= @customer.to_json %>;
</script>
...