- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不确定这篇文章要包含什么,因为我真的不明白错误消息,所以我只包含了错误、Model.hs 文件和模型。我正在为 MySQL 使用 Yesod 脚手架站点。我使用的操作系统是 Ubuntu。如果您需要查看任何其他代码,例如数据定义然后只是询问。
错误信息:
[ 6 of 20] Compiling Model ( src/Model.hs, .stack-work/dist/x86_64-linux/Cabal-1.24.2.0/build/Model.o )
/home/james/ConVoke/convoke-website/src/Model.hs:24:7: error:
• No instance for (persistent-2.7.0:Database.Persist.Sql.Class.PersistFieldSql
Language)
arising from a use of ‘persistent-2.7.0:Database.Persist.Sql.Class.sqlType’
• In the fourth argument of ‘FieldDef’, namely
‘persistent-2.7.0:Database.Persist.Sql.Class.sqlType
(Data.Proxy.Proxy :: Data.Proxy.Proxy Language)’
In the expression:
FieldDef
(HaskellName (packPTH "language"))
(DBName (packPTH "language"))
(FTTypeCon Nothing (packPTH "Language"))
(persistent-2.7.0:Database.Persist.Sql.Class.sqlType
(Data.Proxy.Proxy :: Data.Proxy.Proxy Language))
[]
True
NoReference
In the ‘entityFields’ field of a record
-- While building package website-0.0.0 using:
/home/james/.stack/setup-exe-cache/x86_64-linux/Cabal-simple_mPHDZzAJ_1.24.2.0_ghc-8.0.2 --builddir=.stack-work/dist/x86_64-linux/Cabal-1.24.2.0 build lib:website --ghc-options " -ddump-hi -ddump-to-file"
{-# LANGUAGE EmptyDataDecls #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
module Model where
import ClassyPrelude.Yesod
import Database.Persist.Quasi
import Import.Game
import Import.Language
import Import.Profile
-- You can define all of your database entities in the entities file.
-- You can find more information on persistent and how to declare entities
-- at:
-- http://www.yesodweb.com/book/persistent/
share [mkPersist sqlSettings, mkMigrate "migrateAll"]
$(persistFileWith lowerCaseSettings "config/models")
Player
name Text
username Text
dob Day
language Language
tournaments [TournamentResult]
deriving (Show)
PlatformAccount
player PlayerId
platform Platform
account Text
deriving (Show)
SocialAccount
player PlayerId
site SocialSite
account Text
deriving (Show)
PastTeam
player PlayerId
team TeamId
yearJoined Int
yearLeft Int
deriving (Show)
TournamentResult
player PlayerId
team TeamId
name Text
placing Text
year Int
deriving (Show)
Roster
name Text
game Game
team TeamId
players [PlayerId]
creationDay Day
deriving (Show)
PlayerRole
roster RosterId
player PlayerId
role Role
deriving (Show)
CompetitiveGame
game Game
platform Platform
role Role
availability Availability
playingSince Int
deriving (Show)
Team
name Text
creationDay Day
deriving (Show)
module Import.Language where
allLanguages :: [Language]
allLanguages = [Afrikanns ..]
data Language = Afrikanns |
Albanian |
Arabic |
Armenian |
Basque |
Bengali |
Bulgarian |
Catalan |
Cambodian |
Chinese_Mandarin |
Croation |
Czech |
Danish |
Dutch |
English |
Estonian |
Fiji |
Finnish |
French |
Georgian |
German |
Greek |
Gujarati |
Hebrew |
Hindi |
Hungarian |
Icelandic |
Indonesian |
Irish |
Italian |
Japanese |
Javanese |
Korean |
Latin |
Latvian |
Lithuanian |
Macedonian |
Malay |
Malayalam |
Maltese |
Maori |
Marathi |
Mongolian |
Nepali |
Norwegian |
Persian |
Polish |
Portuguese |
Punjabi |
Quechua |
Romanian |
Russian |
Samoan |
Serbian |
Slovak |
Slovenian |
Spanish |
Swahili |
Swedish |
Tamil |
Tatar |
Telugu |
Thai |
Tibetan |
Tonga |
Turkish |
Ukranian |
Urdu |
Uzbek |
Vietnamese |
Welsh |
Xhosa
deriving (Enum, Show, Eq)
最佳答案
该错误表明它无法找到与总和类型相关的 Persistent 实例。你必须做两件事来修复它:
=> 确保导出 Show
和 Read
求和类型的实例。例子:
data Language = JS | Haskell deriving (Eq, Show, Read, Ord)
derivePersistField "Language"
关于mysql - Yesod、Persistent 和 MySQL 没有实例错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46019916/
如果我将基本路径附加到 settings.yml 中的 approot 属性,例如 approot="http://localhost:3000/base" 在浏览器中调用此 URL 会显示“未找到”
如果我将基本路径附加到 settings.yml 中的 approot 属性,例如 approot="http://localhost:3000/base" 在浏览器中调用此 URL 会显示“未找到”
我知道我可以将端口号放在 config/settings.yml 中,但在运行 yesod devel 时它们似乎被忽略了。 最佳答案 您想使用 -p 选项。更一般地说: $ yesod devel
我遇到了 Yesod 的下一个问题。我想在我的 HTML 上制作我自己的表单,因为我想要我自己的标签和标签,但问题是如果我的表单是使用下一个代码自动生成的,我该怎么做: entryForm :: Fo
我正在 Yesod (0.10) 中构建一个调查站点,但我迷失在这些类型中。这是我正在尝试做的事情的简化版本。 invitation url = do render Dear foo, plea
目前,我正在考虑使用 letsencrypt https 证书与 yesod 应用程序,它将使用 keter 部署到实际服务器。 我的问题是:最好的方法是什么? 虽然here,网上对此并没有明确的描述
我知道这似乎与 Could not find module `Yesod' 重复,但与该用户不同的是,ghc-pkg list不显示 Yesod在我电脑上的输出中,他们似乎没有使用 stack (我是
我正在关注 yesod wiki 上的 yesod 教程,但在链接到外部 css 框架(蓝图)时遇到了障碍。 我使用脚手架工具创建了网站,到目前为止一切都在使用“yesod devel”正常工作。 我
我想从书签访问我用 Yesod 1.2 创建的服务器 API。我想从任何其他站点的书签POST。服务器 API 具有身份验证(通过 Mozilla Persona 和 Google ID)。这意味着:
我的路径中有 ghc,已经设置了 yesod init 和 cabal 构建它。 现在,当我 'yesod devel' 时,我得到: cabal: Cannot find the program '
我对 Haskell 非常陌生,目前使用的是 Windows 7 操作系统。 我正在尝试使用 Haskell 框架 Yesod 开发 Web 服务。当我执行 yesod devel 命令启动开发服务器
超越平凡 instance YesodBreadcrumbs MySite where breadcrumb RootR = return ("home", Nothing) bre
我正在为 Yesod.Static 生成的子站点寻找类似 cacheSeconds 的东西,以控制静态资源的缓存。可能吗? 最佳答案 是的。 Yesod.Static 只是 wai-app-stati
我试过按照官网的Yesod快速入门,但是运行时yesod devel (安装并运行 yesod init 后)如果我使用 sqlite、postgresql、postgresql+fay 或 mysq
我对 Haskell 还很陌生,现在已经用 yesod 进行了大约一周的试验。我一直在尝试连接到在 sqlite 中具有复合主键的现有数据库。我设法让代码作为独立应用程序与 Database.Pers
在 Persistent chapter of the Yesod book , 一个例子给出了这个实体 {-# LANGUAGE QuasiQuotes, TypeFamilies, General
我需要制作一个带有可编辑列的表格。每行是一个单独的记录。我希望能够显示数百条记录,对它们进行编辑,然后将它们提交回服务器进行更新。我不确定表单基础设施是否真的支持这一点。 有没有办法制作一个可重复的表
我刚从 Haskell 和 Yesod 开始。为了让我的脚湿透,我将把我在 MVC 中编写的一个小项目转换为 Haskell。我的第一步只是定义所有路线。 总而言之,我有 8 个处理程序来运行这个项目
我正在尝试设置我的 yesod 网络服务器的登台实例,我想知道是否有一些简单的方法可以保护整个站点的密码。具体来说,我希望能够提示那些导航到我的网站的人提供凭据。在他们进行身份验证后,它应该作为典型站
根据我从 Yesod 书中看到的内容,验证是通过表单进行的。来自 MVC 背景——在模型上进行验证——这感觉像是一个问题的混合。例如,我希望使用 Yesod 构建一个 JSON API,但看不到将验证
我是一名优秀的程序员,十分优秀!