2012-04-17 10 views
15

非常に基本的な問題が発生しましたが、その答えが見つからないようです。私は、node.jsでの作業expressと私はちょうどこのようなビューにローカル変数を渡すようにしようとしていています:Express + jade:ローカル変数が表示されない

app.get('/', function(req, res){ 
    res.render("index", {locals: { 
    title: "Blog", 
    } 
    }); 
}); 

マイindexビューも同様に簡単です:

h1= title 

しかし、いくつかの理由で、私はローカル変数が渡されないかのようにこのエラーが発生し続ける:

500 ReferenceError: /home/spartan/Node_Projects/test/views/index.jade:1 > 1| h1= title 2| title is not defined 
> 1| h1= title 
    2| title is not defined 

私は間違っていることを知りません!私は実際にすることができます

は、誰かが助けてください0.24.0:

  • エクスプレス:3.0.0alpha1
  • のNode.js:0.6.14
  • ジェイドここで私が使用していたバージョンです学習ノード+エクスプレスに移行!

答えて

28

あなたはlocalsせずに変数を渡す必要があります。これは私がsmiliar質問(+レイアウトとの契約)には数時間前に作られた

res.render("index", {title: "Blog"}); 
+1

ありがとう、これでした!私はちょうど古いチュートリアルに従っていたし、何が間違っているのか分からなかった。 – aeyang

4

h1 = titleは、ローカルで評価しようとしました。あなたが送信したタイトルで、それが異なっています。差を参照してください理解するために:

- var title = 'my title' // - allows writing code 
h1 = title 

をあなたが使うべきものである:

h1 #{title} 
+0

私は今、その違いを理解してくれてありがとう。私はそうだったと確信していましたが、残念ながら、私の見解を 'h1#{title} 'に変更したとき、まったく同じエラーメッセージが表示されました。 – aeyang

1

Here is a response急行3.0.0で、おそらく新しいものです。レンダリング時にデータを渡す方法を示します。 (Express 3.0.0のコンプライアント)

+0

ありがとう、あなたの応答は私も同様に探していた答えがあった。 – aeyang

関連する問題