link_to и другие помощники вида, не включенные в EJS (в комплекте с Express) для Node.js? - PullRequest
4 голосов
/ 05 апреля 2011

Я настроил сервер nodeJS с помощью веб-инфраструктуры Express, используя шаблонизатор EJS.

Когда я пытаюсь использовать помощник вида EJS link_to внутри представления, я получаю ошибку ссылки. Это потому, что я делаю что-то не так или помощники вида просто не включены?

Я пробовал следующее

<# link_to("...", "...") #>

<#= link_to("...", "...") #>

<#- link_to("...", "...") #>


Примечание. Я настроил пользовательские теги для EJS ...

server.configure(function ()
{
    this.set("view engine", "ejs");
    this.set("view options", { open: "<#", close: "#>" });
});

Ответы [ 3 ]

3 голосов
/ 09 сентября 2013

попробуй:

var helpers = require('express-helpers')

, а затем

helpers(app);

в вашем app.js если все еще не работает, попробуйте <%- link_to вместо <%= link_to

2 голосов
/ 28 декабря 2011

Добавить https://github.com/mhayashi/express-helpers, что должно решить проблему.

Были некоторые проблемы с их: require ('express-helpers'). Все функции, хотя, свернули мои собственные.Кроме того, он отлично работает.

0 голосов
/ 04 сентября 2018

Спасибо @ user-S и @mujaffars Просто, чтобы написать все шаги в одном месте,

  1. Установка экспресс-помощников.

npm install --save express-helpers

  1. В app.js напишите
var expressHelpers = require('express-helpers');expressHelpers(app);
  1. Используйте это в ejs таким образом,

Использование <% = вместо <% - просто отображает сгенерированный HTML-тег привязки, который обычно не нужен. </p>

...