haskell - create edit operation in a Yesod SubSite -


i'm having many problems create crud operation in subsite in yesod, have following routes

mkyesodsubdata "democrud" [parseroutes| /demonew demonewr post /demoedit/#demoid demoeditr post |] 

and following subdispach instance

instance (yesod master,rendermessage master formmessage, yesodpersist master, yesodpersistbackend master ~ sqlbackend)    => yesodsubdispatch democrud (handlert master io)     yesodsubdispatch = $(mkyesodsubdispatch resourcesdemocrud) 

but have error

couldn't match expected type ‘demoid                               -> handlert democrud (handlert parent1 io) a0’             actual type ‘handlert democrud (handlert master0 io) html’ 

i search in page example don't use id in routes

michael snoyman right, had error in postdemoeditr, following code correction

getdemoeditr :: yesodpersist master          => yesodpersistbackend master ~ sqlbackend           => (yesod master,rendermessage master formmessage)           => demoid -> handlert democrud (handlert master io) html  getdemoeditr  demoid =             demo <- lift $ rundb $ get404 demoid              (widget, encoding) <- lift $ generateformpost $ renderbootstrap3 bootstrapbasicform $ demoform  (just demo)            lift $ defaultlayout $                     [whamlet|                     <form method=post>                           ^{widget}                           <div>                                 <input type=submit>                         |]     postdemoeditr :: yesodpersist master           => yesodpersistbackend master ~ sqlbackend            => (yesod master,rendermessage master formmessage)            => demoid -> handlert democrud (handlert master io) html postdemoeditr demoid  =             demo <- lift $  rundb $ get404 demoid             ((result,widget), encoding) <- lift $ runformpost $ renderbootstrap3 bootstrapbasicform $ demoform  (just demo)             case result of                  formsuccess demoresult ->                               _ <- lift $ rundb $ replace demoid  demoresult                              redirect demonewr                   _ -> lift $  defaultlayout $                              [whamlet|                               <form method=post>                                     ^{widget}                                     <div>                                           <input type=submit>                         |]   

Comments

Popular posts from this blog

node.js - Using Node without global install -

How to access a php class file from PHPFox framework into javascript code written in simple HTML file? -

java - Null response to php query in android, even though php works properly -