小编Tra*_*ies的帖子

在 Yesod 子站点中正确使用 Persistent?

我目前正在尝试开发一个可重复使用的 Yesod 子站点来处理用户到用户的消息传递。理想情况下,用户应该能够从 Hackage 下载这个包,在他们的应用程序中提供一些钩子,并在他们的 Yesod 主站点上拥有一个现代的、功能丰富的消息系统。

但是,我找不到任何引用主站点实体的子站点示例。在这种情况下,我想为可能从主站点引用用户的消息构建持久模型。

到目前为止,我发现的 Yesod 子站点教程都没有涉及在子站点中使用 Persistent。该耶索德-意见包是我找到想什么,我建最接近的事情,但我有点被它采用的方法混淆。

首先,它似乎使用字符串来识别用户,而不是直接使用用户的id,这似乎效率低下。

此外,它似乎需要一个奇怪的回调结构(persistStorage结构)来支持评论存储,但这对我来说似乎很奇怪。在我看来,在 Haskell 中,确定要调用哪个函数所需的所有信息都应该在类和实例级别完成,但在这种情况下,我依赖于传递一堆回调,以便我的代码才能正常工作。

所以这是对 Yesod 社区的一个问题:在 Yesod 中开发这些类型的通用子站点的最佳方法是什么?

我真的很喜欢在我的项目中使用 Yesod,因为我喜欢 Haskell 以及类型安全和静态编译带来的所有东西(更不用说速度和可扩展性的好处),但我不禁感到被拉向了动态框架,如 Django 和 Rails,其中不仅有一个生态系统来构建和分发可重用组件,而且还有构建这些组件的所有库内基础设施。

haskell yesod

3
推荐指数
1
解决办法
220
查看次数

标签 统计

haskell ×1

yesod ×1