Используйте JS var в строке ruby ​​внутри файла js

Я пытаюсь использовать js var внутри строки ruby ​​(которые все находятся внутри файла js.erb):

my_file.js.erb:

var x = 3;
var credit = "<%= CreditsController.some_method(x) %>";

Я знаю, как заменить текст в js var, но не знаю, как это сделать, прежде чем запускать ruby ​​part <% =%>

Спасибо!

2 ответа

Решение

Это невозможно, потому что ваш файл my_file.js.erb будет обработан в my_file.js на стороне сервера, заменяя каждый код ruby ​​их выходными данными, которые он предоставляет. Наконец, ваш навигатор выполнит JavaScript.

Как сказал Стефан, вы можете попробовать извлечь это значение с помощью вызова ajax или попытаться реализовать эту функцию в javascript, если это возможно.

Что вы можете сделать, это что-то вроде:

в вашем CreditsController:

def some_method
  @credit = 0
end

и в вашем some_method.js.erb:

var credit = "<%= @credit %>";
Другие вопросы по тегам