2015-05-20 2 views
0

Я хочу создать дочерний сайт для всех операций CRUD в моем проекте, я следующий кодиспользование альфа-формы в дочернем Йесод

{-# LANGUAGE FlexibleInstances  #-} 

module Demo (
    module Demo.Data, 
    module Demo 
    )where 

import Data.Maybe (Maybe) 


import Demo.Data 
import Yesod 
import Prelude (IO,($)) 

import Model 
import Crud.FormsC 


getDemoNewR :: Yesod master => HandlerT YesodDemo (HandlerT master IO) Html 
getDemoNewR = do 
      (widget, encoding) <- generateFormPost $ renderBootstrap3 BootstrapBasicForm $ demoForm Nothing 
      defaultLayout $ do       
       $(widgetFile "Exam/createExam") 

, но эта ошибка Not in scope: type constructor or class ‘Handler’

Я не могу импортировать фонд потому что генерировать ссылку цикла, потому что у меня есть импорт дем в моем Foundation.hs

import Demo 
import Demo.Data 

data App = App 
{ appSettings :: AppSettings 
, appStatic  :: Static --^Settings for static file serving. 
, appConnPool :: ConnectionPool --^Database connection pool. 
, appHttpManager :: Manager 
, appLogger  :: Logger 
, getDemo  :: YesodDemo 
} 

так, что есть импорт использовать Handler О, как я создаю Subsite?

+0

Generic совет: Google "HS-загрузочные файлы", или перестроить иерархию модулей. Если вы хотите получить более конкретные рекомендации, пожалуйста, дайте нам минимальный, но полный образец кода, который вызывает эту ошибку. –

+0

Предполагая, что вы строите сайт scafolding, псевдоним типа Handler генерируется внутри Foundation.hs из 'mkYesodData'. –

+0

Привет, спасибо за их ответы. Я добавляю детали кода и начало к моему основанию. Возможно, у кого-то есть пример для субсайта, отличного от чата, который есть в книге – oriaj

ответ

1

Когда вы в Subsite использовать (HandlerT master IO)

Смежные вопросы