2013-09-20 18 views
0

我在修改Yesod腳手架時遇到了麻煩。我有我的實體,像這樣在/配置/車型描述:Yesod持久功能無法從處理程序訪問。我應該包括什麼?

Artist 
    ident Int 
    value Text 

這裏是我在/Handler/Artist.hs

{-# LANGUAGE QuasiQuotes, TypeFamilies, GeneralizedNewtypeDeriving, TemplateHaskell, 
      OverloadedStrings, GADTs, FlexibleContexts #-} 
module Handler.Artist where 

import Import 
import qualified Control.Monad.IO.Class as M 
import Text.Hamlet (shamlet) 
import Text.Blaze.Html.Renderer.String (renderHtml) 
import Database.Persist 
import Database.Persist.Sqlite 
import Database.Persist.TH 
import Control.Monad.IO.Class (liftIO) 

getArtistR = concatMap (renderListElement . value) $ artists 
    where artists = selectList ([] :: [Filter Artist]) [] 
     renderListElement name = renderHtml [shamlet|<li>#{name}|] 

處理器(包括我和冗餘:))

最後,我的錯誤:

Rebuilding application... (using cabal) 

Handler/Artist.hs:14:45: Not in scope: `value' 
Build failure, pausing... 

我不知道我應該做的!我需要在處理程序中扔入類似$(widgetFile "artist")的東西嗎?補丁哪裏出問題了?任何幫助將如此真棒。先謝謝你!!!

回答

1

您應該爲型號名稱加前綴功能,所以value變爲artistValue

文檔包含生成的代碼的example

相關問題