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>

こんな感じ。