Передача переменной ruby ​​в js - PullRequest
0 голосов
/ 10 мая 2018

Как передать переменную ruby ​​в функцию JavaScript. Здесь переменная ruby ​​является активным объектом записи.

= label = @label // active record object
- @x = 5

= javascript_tag "alert(#{ j(@x.to_json)});" // Working
= javascript_tag "proj.app.custom(#{ j(label.to_json)})" // Not working

proj.app.custom - это функция javascript.

proj.app.custom = function(param) {
};

Я получаю следующую ошибку

Uncaught SyntaxError: Invalid or unexpected token

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Не уверен, что содержит label, но если вы хотите передать json, вы не должны избегать его:

= javascript_tag "proj.app.custom(#{label.to_json})" 
0 голосов
/ 10 мая 2018

Почему бы просто не сделать:

= javascript_tag "proj.app.custom(#{ j(@label.to_json)})"

У меня такое ощущение, что ваше назначение = label = @label выше недействительно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...