метод рендеринга node.js

Мой вопрос очень прост. Я использую node.js с движком экспресс и нефритового просмотра. Когда я визуализирую какой-то файл и отправляю в поле объекта HTML-теги, в файле я получаю забавный смех. Например: app.js

res.render('not_found', { 
 field: "<a href='/'>main page</a>"
});

в файле not_found.jade

&lt;a href='/'&gt;main page&lt;/a&gt;

И мой вопрос: как я могу отправить html-код в значение поля объекта?

Извините за мой английский :)


person Th.Gleb    schedule 28.04.2013    source источник
comment
покажите нам код, в котором вы настраиваете свое экспресс-приложение!   -  person TheHippo    schedule 28.04.2013
comment
возможный дубликат печати (или отмены экранирования JSON) с помощью nodejs и jade   -  person Pickels    schedule 28.04.2013


Ответы (1)


Короткий ответ заключается в том, что вам нужно использовать правильный код в своем шаблоне, чтобы он не был экранирован, как объясняется в документации по jade в Текст тега.

Как вы видели, интерполяция с #{} будет экранирована. Если вам нужна неэкранированная интерполяция, вам нужно использовать !{}, чтобы указать Джейд не искажать ваши данные.

Если вы не видели Синтаксическую документацию Jade на примере - экранирование, это дает несколько примеров этого. Остальная часть страницы очень полезна, так как вы можете редактировать/проверять свои идеи.

И чтобы ответить на ваш вопрос, вам нужно изменить нефритовый шаблон с #{field} на !{field}.

person Matthew Bakaitis    schedule 28.04.2013