有人可以解釋默認單元project template中發生了什麼嗎?Snap在做什麼?
--------------------------------------------------------------------------
-- | Handle login submit
handleLoginSubmit :: Handler App (AuthManager App)()
handleLoginSubmit =
loginUser "login" "password" Nothing
(\_ -> handleLogin err) (redirect "/")
where
err = Just "Unknown user or password"
-- | Render login form
handleLogin :: Maybe T.Text -> Handler App (AuthManager App)()
handleLogin authError = heistLocal (bindSplices errs) $ render "login"
where
errs = [("loginError", textSplice c) | c <- maybeToList authError]
| The application's routes.
routes :: [(ByteString, Handler App App())]
routes = [ ("/login", with auth handleLoginSubmit)
, ("/logout", with auth handleLogout)
, ("/new_user", with auth handleNewUser)
, ("", serveDirectory "static")
]
- 爲什麼返回()?
- 「控制器」的標準簽名是什麼(就像你在MVC中所說的那樣)功能?
- 它如何知道使用
index.tpl
作爲/
路由的模板? - 如何擺脫身份驗證層,說如果我只想做一個簡單的個人網絡應用程序?
該文檔和一個教程主要涵蓋小卡片(或模板),但它不會覆蓋任何Haskell。很高興看到如何編寫應用程序或博客等書店的例子(官方網站以markdown存儲他們的博客條目 - 所以我不確定那裏發生了什麼)。
關於3.請參閱http://stackoverflow.com/questions/11114781/snap-0-9-routing-behavior – lbolla
捕捉文檔假定您已經有一些Haskell的知識。聽起來你應該從一些基本的Haskell教程開始。 – mightybyte