1. Currently the following Formlet is used: (define new-post-formlet (formlet (#%# ,{input-string . => . title} ,{input-string . => . body}) (values title body)))
Although it is pretty and elegant, some people might benefit seeing the more verbose version: (define new-post-formlet (formlet (#%# (fieldset (label ((for "name")) "Title") ,((to-string (required (text-input #:attributes '((id "name")(class "form-text"))))) . => . title)) (fieldset (label ((for "body")) "Body") ,((to-string (required (text-input #:attributes '((id "body")(class "form-text"))))) . => . body))) (values title body))) Possible reason is that if one (who is not very good at CSS) wants to use/borrow/copy an existing CSS, then it's easier to add class attributes to tags than modifying CSS. As a Formlet newbie, it took a bit of head scratching to figure out how to do this. 2. model should show how to use Pooled/Virtual Connection (as detailed in collects/db). in model-4.rkt (maybe): (define (initialize-blog! db) (define the-blog (blog db)) (unless (table-exists? db "posts") instead of (define (initialize-blog! home) (define db (sqlite3-connect #:database home #:mode 'create)) (define the-blog (blog db)) plus (virtual-statement "INSERT ... (?,?)") in places of various prepared statements. in servlet code: (require web-server/formlets db "model-4.rkt") (define db (virtual-connection (connection-pool (lambda () (sqlite3-connect #:database (build-path (current-directory) "the-blog-data.sqlite") #:mode 'create))))) (define (start request) (render-blog-page (initialize-blog! db) request)) instead of: (require web-server/formlets "model-3.rkt") (define (start request) (render-blog-page (initialize-blog! (build-path (current-directory) "the-blog-data.sqlite")) request)) as hinted in db documentation. I really like the db module and as a newbie, I know I would've appreciated seeing it in the tutorial. But then again, the tutorial is pretty long already...so maybe not. jGc ____________________ Racket Users list: http://lists.racket-lang.org/users