Как использовать шаблон деревушки с параметром маршрута?
Я работаю над приложением Yesod, основанным на yesod-postgres
шаблон стека. У меня есть маршрут, определенный в config/routes
это имеет вид:
foo/edit/#Text EditFooR GET
В своем шаблоне хамлета я хочу написать
<form method=post action=@{EditFooR}#forms enctype=#{formEnctype}>
^{formWidget}
<button type="submit">
Submit
и в моем обработчике я хотел бы написать:
getEditFooR :: T.Text -> Handler Html
getEditFooR name = do
....
text <- findTextByName name
(formWidget, formEnctype) <- generateFormPost (editFooForm text)
defaultLayout $ do
$(widgetFile "editFoo")
За исключением того, что мне нужно предоставить параметр @{EditFooR}
маршрут. Как это сделать в файле / обработчике Гамлета?
1 ответ
Решение
Ответ заключается в том, что шаблон.hamlet должен иметь формат:
<form method=post action=@{EditFooR fooName}#forms enctype=#{formEnctype}>
^{formWidget}
<button type="submit">
Submit
и Handler
должен иметь формат:
getEditFooR :: T.Text -> Handler Html
getEditFooR name = do
....
text <- findTextByName name
fooName <- "something or other"
(formWidget, formEnctype) <- generateFormPost (editFooForm text)
defaultLayout $ do
$(widgetFile "editFoo")