Making variable availible in every view

17 views
Skip to first unread message

Joel Moberg

unread,
Feb 11, 2013, 8:02:36 AM2/11/13
to zap...@googlegroups.com
Is it possible to make a variable availible in every view without having to pass a parameter from @render?
Example:

require('zappajs') ->
  @configure @include './config.coffee'

  @get '/': -> @render 'index'

  @post '/widgets': -> @render widgets: { form: @body }

  @view index: ->
    @title = 'My Form'
    h1 @title
    form method: 'post', action: '/widgets', ->
      input
        type: 'hidden'
        name: '_csrf'
        value: @session._csrf // make session available
      input
        id: 'widget_name'
        type: 'text'
        name: 'widget_name'
        placeholder: 'widget name'
        size: 50
        value: @widget_name
      button 'create widget'

  @view widgets: ->
    @title = 'Widgets'
    h1 @title
    p @form.widget_name
    console.log(@form.widget_name)

Joel Moberg

unread,
Feb 11, 2013, 12:38:49 PM2/11/13
to zap...@googlegroups.com
Found i could do this:

  testMiddleware = (req, res, next) ->
    res.locals = csrf: req.session._csrf
    next()

  @use testMiddleware

:))))))))
Reply all
Reply to author
Forward
0 new messages