Я использую Cradle с Express и EJS в своем блоге.Возможно, мне не хватает чего-то, но некоторые из них преобразуют html-сущности в его эквиваленты.
У меня есть html в поле doc.quote, и после этого куска кода он меняется
quotesDb.view('list/by_date', {
'startkey' : {},
'endkey' : null,
'descending' : true
}, function(err, res) {
if (err) {
r.send();
return;
}
r.partial('quotes', {'quotes' : res}, function(err, str) {
console.log(str);
sendResponse('content', str);
});
});
quotes.ejs:
<% for (var i=0; i<quotes.length; i++) { %>
<div>
<%=quotes[i].value.quote%>
</div>
<div class="date">
<%=(new Date(quotes[i].value.ts*1000)).toLocaleDateString()%><% if (quotes[i].value.author) { %>, <%=quotes[i].value.author%><% } %>
</div>
<% } %>
Переменная "res" - это массив, в котором есть объекты с полем "content" (с html).Но после рендеринга "str" имеет символы "quotes [i] .value.quote", преобразованные в его сущности, скажем,
в <;br>;