我正在使用scaffolded yesod模板,并希望为货币值添加新类型。理想情况下,这应该在一个名为Money.hs的文件中完成。但这将形成循环进口:
基金会进口模型。
新的Money类型将在模型中用于存储货币 值。因此Model必须导入Money
资金必须为moneyField :: Field
Handler Money
函数
TL DR:是否有一种“正确”的方式将新类型添加到脚手架的yesod应用程序,包括sql db type,shakespeare field widget和ToHtml
instance?
答案 0 :(得分:1)
您的第三个项目:为什么需要参考Handler
?您可以使用与Yesod.Form.Fields中的内置字段相同的方式构建字段代码,例如:
textField :: Monad m => RenderMessage (HandlerSite m) FormMessage => Field m Text
有了这个:我说Money.hs
(甚至Data/Money.hs
)最有意义。