Related to: http://stackoverflow.com/questions/22902419/yesod-put-and-delete-using-hidden-method-parameter/22903897.
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
import Yesod.Core
data App = App
mkYesod "App" [parseRoutes|
/ HomeR GET POST PUT
|]
instance Yesod App
getHomeR :: Handler Html
getHomeR = defaultLayout
[whamlet|
<form method=post action=@{HomeR}?_method=PUT>
<button>This should be a PUT
|]
postHomeR :: Handler Html
postHomeR = defaultLayout [whamlet|POST|]
putHomeR :: Handler Html
putHomeR = defaultLayout [whamlet|PUT|]
main :: IO ()
main = warpEnv App