首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yesod Hamlet getHomeR找不到参考资料

Yesod Hamlet getHomeR找不到参考资料
EN

Stack Overflow用户
提问于 2017-02-26 20:46:41
回答 1查看 66关注 0票数 0
代码语言:javascript
复制
getHomeR :: Handler Html
getHomeR = do
    wordList <- runDB $ selectList [] [] :: HandlerT App IO [Entity Vocabulary]
    defaultLayout
        [whamlet|
            <ul>
                $forall Entity wordid wordItem <- wordList
                    <li>
                        <a href=@{HomeR}>#{date wordItem}
        |]

我得到了这个错误

代码语言:javascript
复制
Variable not in scope: date :: Vocabulary -> a0

虽然我已经在模型中定义了:

代码语言:javascript
复制
Vocabulary json
    word Text
    date UTCTime
    deriving Show

PS:我正在基于yesod scaffold示例进行开发: yesod-postgres

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-26 21:58:59

它应该是vocabularyDate而不只是date。根据yesod book上的持久化部分,

代码语言:javascript
复制
mkPersist sqlSettings [persistLowerCase|
Person
    name String
    age Int
    deriving Show
|]

将生成如下代码

代码语言:javascript
复制
data Person = Person
    { personName :: !String
    , personAge :: !Int
    }
  deriving Show
 ...

如您所见,字段名称以数据名称为前缀(personName而不是name)。这是Haskell中避免名称冲突的标准做法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42468694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档