我正在基于Yesod的网站上工作。我一直在网上阅读Yesod的书,我遇到了一个不方便的差异(是的,我知道这本书已经过时了)。通常我可以围绕这些差异谷歌,但我不知道从哪里开始。
特别是,我试图为某些路线设置授权。 Yesod书中说我应该定义
instance YesodAuth MyApp where
isAuthorized RouteR _ = <check for stuff and return an authorization token>
但是Yesod.Auth.YesodAuth中没有定义该方法。该工艺的现状如何?
答案 0 :(得分:1)
我发现您已找到答案,但将来,您可以使用比Google更专业的工具更快地找到答案。可能是Yesod的最佳Haskell API搜索引擎就是这个:FPComplete's Hoogle Search。
和Holumbus's Hayoo Search,至少在它结束时。我打字的时候会崩溃,但它应该在某个时候返回。
Hoogle和Hayoo都允许你搜索功能/包名称以及功能签名,所以如果你知道你想要的功能做什么而不是它是什么? 叫你仍然可以搜索它!它们在解释你给出的类型以及它们默认搜索的包时会有所不同,所以你可能希望保持两个链接都很方便,并尝试对它们进行查询。
请注意,默认情况下,FPComplete Hoogle会搜索其索引的所有软件包,而主要的Haskell.org默认情况下只搜索Haskell平台软件包,但如果您明确询问它,还会搜索Hackage上的其他软件包通过向查询字符串添加+<package name>
,例如isAuthorized +yesod-core
您的问题。
基于此haskell-cafe thread,Haskell.org Hoogle搜索引擎可能会在某些时候取消此限制,但同时您应该使用我列出的其中一种替代方案,如果您不了解包裹你不会想到你在Haskell平台上搜索的内容。
最后,您可以从Hackage下载haogle代码(通过cabal安装),它将为您提供一个本地包索引,您可以从命令行查询或集成到编辑器中。这对于快速查找平台中存在的函数非常方便,但您不能完全记住其中的细节。
答案 1 :(得分:0)
好的,我找到了这个方法。它现在是Yesod类型。