haskell - use runDB in a SubSite Yesod -


i want create post method in subsite create new entity, have aform

demoform :: rendermessage master formmessage => maybe demo -> aform    (handlert master io) demo demoform   demo = demo              <$> areq textfield (fieldsettingslabel ("fieldone"::t.text))   (demofieldone <$> demo)             <*> areq intfield  (fieldsettingslabel ("fieldone"::t.text))   (demofieldtwo <$> demo)             <*> areq boolfield (fieldsettingslabel ("fieldthree"::t.text)) (demofieldthree <$> demo)              <*> areq dayfield  (fieldsettingslabel ("fieldfour"::t.text))  (demofieldfour <$> demo)  

and post method:

   postdemonewr :: (yesod master,rendermessage master formmessage) => handlert democrud (handlert master io) html    postdemonewr =             tp <- getroutetoparent              ((result,widget), encoding) <- lift $ runformpost $ renderbootstrap3 bootstrapbasicform $ demoform  nothing             case result of                  formsuccess demo ->                               _ <- lift $  rundb $ insert demo                              redirect demonewr                  _ -> lift $ defaultlayout $                  let actionr = demonewr                                  [whamlet|                     <form method=post action=@{tp demonewr} enctype=#{encoding}>                           ^{widget}                     <button .btn .btn-default> default text create                |] 

but have following error

  not deduce (yesodpersistbackend master                   ~ persistent-2.1.3:database.persist.sql.types.sqlbackend) context (yesod master, rendermessage master formmessage)   bound type signature              postdemonewr :: (yesod master, rendermessage master formmessage) => 

i thing need add yesodpersist i'm not sure how

you need add following constraint postdemonewr declaration:

yesodpersist master => yesodpersistbackend master ~ sqlbackend => … 

the first constraint tells master must have persistent abilities while second constraint tells backend used persistent should sql backend.

you can find similar in other question


Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -