Hatena::ブログ(Diary)

2011-09-04

expressで、railsのcontent_for を実装する

expressのdynamicHelperは、スコープを維持したfunctionオブジェクトを返せるようなので、dynamicHelperを使うとでける。

ここを見たらわかりましたよ
http://stackoverflow.com/questions/3601080/how-do-i-pass-content-from-a-template-to-a-layout-in-express

  app.dynamicHelpers({
    pageTitle: function() {
      var _pageTitle = '';

      return  {
        get: function() {
          return _pageTitle;
        },

        set: function(val) {
          _pageTitle = val;
          return _pageTitle;
        }
      };
    }
  });


layout.jade

title
  良いサイト #{pageTitle.get() ? ' - ' + pageTitle.get() : ''}


index.jade

h1= pageTitle.set('ていやー!')


<title>良いサイト - ていやー!</title>
<h1>ていやー!</h1>

こんな感じ。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/hadashia/20110904/1315121685
Connection: close