В моем контроллере я делаю это:
page << "updateCategory('#{escape_javascript(h(category.name))}',#{category.id}, 'up');"
, который, в представлении, устанавливает значение моего текстового поля следующим образом:
$j('#id').val(value);
Теперь, когда категория.имя <3
, при обновлении ajax оно выглядит как <3
.Но когда я обновляю страницу.Он показывает <3
правильно.
Для кода представления, который показывает category.name:
<%=h category.name %>
, может быть, из-за h(escape_javascript(h(category.name)))
, символ преобразуетсяего HTML-код?как это исправить?
Насколько я знаю, в контроллере с escape_javascript(h(category.name))
мне нужно настроить его таким образом, чтобы предотвратить атаки XSS.
* Прошу прощения замои ужасные предложения и отсутствие ясности здесь.Я едва проснулся.лол