Skip to content

Instantly share code, notes, and snippets.

@atian25
Created August 13, 2012 08:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save atian25/3338375 to your computer and use it in GitHub Desktop.
Save atian25/3338375 to your computer and use it in GitHub Desktop.
derby model question
var derby = require('derby');
var app = derby.createApp(module);
// import derby components
derby.use(require('derby-ui-boot'));
derby.use(require('../../ui'));
// ROUTES //
// Derby routes can be rendered on the client and the server
var pages = [
{url: '/', title: 'Home'}
];
function render(name, page) {
var ctx = {
pages: pages,
activeUrl: page.params.url
}
page.render(name, ctx)
}
app.get('/', function(page, model) {
console.log('routes:',model.get())
render('home', page)
})
// CONTROLLER FUNCTIONS //
app.ready(function(model) {
console.log(model.get())
})
var http = require('http')
, path = require('path')
, express = require('express')
, gzippo = require('gzippo')
, derby = require('derby')
, app = require('../app')
, serverError = require('./serverError')
// SERVER CONFIGURATION //
var expressApp = express()
, server = module.exports = http.createServer(expressApp)
derby.use(derby.logPlugin)
var store = derby.createStore({listen: server})
var m = store.createModel();
m.set('tz',{
data:{
test: 'aa',
test2: 'bb'
}
})
console.log('x',m.get())
var ONE_YEAR = 1000 * 60 * 60 * 24 * 365
, root = path.dirname(path.dirname(__dirname))
, publicPath = path.join(root, 'public')
expressApp
.use(express.favicon())
// Gzip static files and serve from memory
.use(gzippo.staticGzip(publicPath, {maxAge: ONE_YEAR}))
// Gzip dynamically rendered content
.use(express.compress())
// Uncomment to add form data parsing support
// .use(express.bodyParser())
// .use(express.methodOverride())
// Uncomment and supply secret to add Derby session handling
// Derby session middleware creates req.model and subscribes to _session
// .use(express.cookieParser())
// .use(store.sessionMiddleware({
// secret: process.env.SESSION_SECRET || 'YOUR SECRET HERE'
// , cookie: {maxAge: ONE_YEAR}
// }))
// Adds req.getModel method
.use(store.modelMiddleware())
// Creates an express middleware from the app's routes
.use(app.router())
.use(expressApp.router)
.use(serverError(root))
// SERVER ONLY ROUTES //
expressApp.all('*', function(req) {
throw '404: ' + req.url
})
@atian25
Copy link
Author

atian25 commented Aug 13, 2012

question:

https://groups.google.com/forum/?fromgroups#!topic/derbyjs/fLagAZqdUUo%5B1-25%5D

  1. server/index.js console.log('x',m.get()) trigger 2 times
  2. app/index.js the model is empty.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment