私はexpressを使用してlayout.jadeをレンダリングしようとしていますが、私のディレクトリツリーはかなり標準的です。
├── apps
│ └── fridge_face
│ ├── routes.coffee
│ └── views
| └── index.jade
├── server.js
└── views
├── layout.jade
└── stylesheets
└── style.styl
私のroutes.coffeeでは、index.jadeをレンダリングするとすべてうまくいきますが、レイアウトはレンダリングされません。レイアウトを移動しようとしましapps/fridge_face/views/
たが、成功しませんでした。
レイアウト構成は行っていません。
これが私の
レイアウト.ジェイド
doctype 5
html
head
title 'What is up'
link(rel='stylesheet', href='/stylesheets/style.css')
body
!= body
ルート.コーヒー
routes = (app) ->
app.get '/', (req, res) ->
Word.once 'wordsFetched', (params) ->
res.render "#{__dirname}/views/index",
layout: true
words: params.map (word) -> word.word
Word.getWords()
module.exports = routes
server.js 構成
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express['static'](__dirname + '/public'));
});
レイアウトがレンダリングされない可能性がある、またはレンダリングされないものは何もないことがわかります...何が間違っているのですか?
編集
私はこの質問を非常に長くしていることを知っていますが、いくつかの開発を追加しています. 初め
!=
両方のディレクトリのレイアウトから削除しても、何も変わりません。私のビューはまだレイアウトフリーでレンダリングされています。
追加すると
app.set('view options', {
layout: false
});
次に、いずれかを使用してビューにレイアウトを明示的にレンダリングします
layout: "#{__dirname}/views/layout"
# OR
layout: "layout"
# OR
layout: true
何も起こらず、ビューはレイアウト フリーでレンダリングされます...