Выход из HTML в Ruby и добавление в DOM с помощью JS - PullRequest
1 голос
/ 24 февраля 2011

Я пытаюсь динамически добавлять содержимое div, используя JS. Бэк-энд это Ruby on Rails. У меня проблема. Вот что включено в файл представления:

var product_sidebar_inner = "<%= CGI.escapeHTML(render(...some partial...)).gsub(/\r/," ").gsub(/\n/," ") %>";

document.getElementById("left_sidebar_wrapper").innerHTML = unescape(product_sidebar_inner);

Вышеприведенное вставляет html как текст в div # left_sidebar_wrapper. Потратил некоторое время на это, но все еще не могу сделать эту работу. Есть идеи, что я делаю не так?

Ответы [ 2 ]

1 голос
/ 24 февраля 2011

Исходя из вашего комментария к macarthy, я думаю, что вы хотите CGI.escape (или CGI.unescape), это то, что вы используете для кодирования URL.Вы также можете использовать URI.escape (или URI.unescape), но вы устали от необходимости постоянно проходить регулярное выражение unsafe, чтобы заставить его делать то, что вы хотите.

Кроме того, на стороне JavaScript вы должны использовать encodeURI или encodeURIComponent, поскольку escape устарела, поскольку у него есть проблемы с-ASCII символы.

0 голосов
/ 24 февраля 2011

Думаю, вам нужно использовать raw

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