Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 有没有一种方法可以快捷地向YesSOD添加处理程序?_Haskell_Routing_Yesod - Fatal编程技术网

Haskell 有没有一种方法可以快捷地向YesSOD添加处理程序?

Haskell 有没有一种方法可以快捷地向YesSOD添加处理程序?,haskell,routing,yesod,Haskell,Routing,Yesod,我刚从Haskell和Yesod开始。为了让我的脚湿,我将把我在MVC中编写的一个小项目转换成Haskell。我的第一步就是确定所有的路线 总之,我有8个处理程序来运行这个项目。我的路由文件如下所示: /activity ActivityR GET /activity/#String ActivityItemR POST DELETE /dashboard/month MonthDashboardR GET /dashboard/year YearDashboardR GET /calend

我刚从Haskell和Yesod开始。为了让我的脚湿,我将把我在MVC中编写的一个小项目转换成Haskell。我的第一步就是确定所有的路线

总之,我有8个处理程序来运行这个项目。我的路由文件如下所示:

/activity ActivityR GET
/activity/#String ActivityItemR POST DELETE

/dashboard/month MonthDashboardR GET
/dashboard/year YearDashboardR GET

/calendar CalendarR GET

/events/calendar CalendarEventsR GET
/events/report ReportEventsR GET

/report ReportR GET
我在添加这些路线时所经历的流程如下:

/activity ActivityR GET
/activity/#String ActivityItemR POST DELETE

/dashboard/month MonthDashboardR GET
/dashboard/year YearDashboardR GET

/calendar CalendarR GET

/events/calendar CalendarEventsR GET
/events/report ReportEventsR GET

/report ReportR GET
  • 将路由添加到配置/路由
  • 在Handler文件夹中创建文件(我为每个路由父级创建了一个,例如/events或/dashboard)
  • 将导入添加到步骤2中创建的处理程序Application.hs
  • 将处理程序文件名添加到我的项目的cabal文件中
  • 是否有一种快捷方式或方法可以通配符这些处理程序,以便我可以执行类似于导入处理程序的操作。*


    或者是让处理多个不同路由的处理程序模块更少的首选方法?

    命令行工具提供了命令
    addhandler
    ,它将自动执行大部分操作。

    谢谢,我将尝试一下。为了澄清这一点,您应该不带参数地运行
    yesod addhandler
    。它将提示您获取更多信息。如果您使用参数调用它,您会得到一条稍微令人困惑的
    用法:yesod add handler
    消息。