anchor.diff:    (setf (gethash :user-id *session*) (object-id user)))
   
   (defun logged-in-p ()
  -  (not (null (current-user))))
  +  (not (null (current-user-id))))
   
  -
  +(defun logged-in-user ()
  +  (unless (logged-in-p)
  +    (progn
  +      (flash "Please login.")
  +      (redirect "/login"))))
   ;;
   ;; Error pages
   
  
positive.code:                                    (list :flash (flash) :type "success")))))
  
  (defroute "/users/:id/edit" (&key id)
    (render #P"users/edit.html"
            (list :user (list :id (object-id (current-user))
                              :name (user-name (current-user))
                              :email (user-email (current-user))
                              :hash-email (make-md5-hexdigest
                                           (user-email (current-user)))))))
  
  (defroute ("/users/:id/update" :method :POST) (&key _parsed)
    ;;ひとまずリダイレクトさせるだけ
    (flash "update success")
    (redirect (format nil "/users/~A" (object-id (current-user)))))
  
  (defroute "/login" ()
    (render-with-current #P"sessions/new.html"))
  
  (defroute ("/login" :method :POST) (&key _parsed)
    (setf params (get-value-from-params "session" _parsed))
  
negative.code: ;; Routing rules
  
  (defun render-with-current (template-path &optional args)
    (render template-path (append args (list :current
                                             (current-user-id)))))
  
  (defroute "/" ()
    (redirect "/home"))
  