[racket] 2 minor suggestion to the Tutorial "Continue: Web Applications in Racket"
I made the first change, but will leave the second to Ryan (or you?).
Jay
On Sat, Apr 14, 2012 at 10:29 PM, J G Cho <gcho at fundingmatters.com> wrote:
> 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
--
Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay
"The glory of God is Intelligence" - D&C 93