2

私が得ているエラーは「未定義は関数ではありません」です。app.js の約 10 行の app.local 部分に問題があると思います。私は新しく、チュートリアルに従っていて、翡翠をejsに変換しようとしています。私は ejs と express-helper を持っています。物が減価償却されたために解決されたいくつかの問題がありました。問題はlink_toにあります。任意のアイデアまたは誰かが同様の問題に遭遇します これは私の app.js です

var express = require('express');
var helpers = require('express-helpers');
var ArticleProvider = require('./articleprovider-memory').ArticleProvider;

var app = module.exports = express();


app.configure(function(){
  app.locals({
    link_to : helpers.link_to
  });

  app.set('views', __dirname + '/views');
  app.set('view engine', 'ejs');
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(require('stylus').middleware({ src: __dirname + '/public' }));
  app.use(app.router);
  app.use(express.static(__dirname + '/public'));
});

app.configure('development', function(){
  app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});

app.configure('production', function(){
  app.use(express.errorHandler());
});

var articleProvider= new ArticleProvider();

app.get('/', function(req, res){
    articleProvider.findAll( function(error,docs){
        res.render('index.ejs', {
            title: 'Blog',
            articles:docs
        });
    });
});

そして私のindex.ejs

<html>
<body>
        <h1> <%= title %> </h1>
    <% for (var i = 0; i < articles.length; i++) { 
        var article = articles[i]; %>
        <%= created_at = article.created_at %> <br>
        <%= link_to(title, 'blog/'+article._id) %> <br>
        <%= article.body %>
    <% } %>
</body>
</html>
4

1 に答える 1

2

答えはこちらhttps://github.com/tanema/express-helpers

必要だった

require('express-helpers')();

余分な括弧が必要だとは知らなかった

于 2013-01-11T10:16:31.033 に答える