2013-07-28 25 views
2

How to make nicEditor snaplet? (Several questions) 我按照提示,並把addRoutes放入snaplet初始值設定項,它的工作。在更新snap和heist(0.12)模塊後,我遇到了一些困難addRoutes。如果從nicsnapInit中刪除addRoutes(在快速示例中)並將其放入Application.hs中的routes函數中,則會在找到App和路由中的其他路由的同時初始化路由。如何讓addRoutes在snaplet中工作(更改api,heist 0.12)?

但是,如果addRoutesnicsnapInit,服務器只是說

no handler accepted "/netext". 

這看起來像沒有添加的路由。

如何使用addRoutes現在在snaplet初始值設定項中(0.12)?


據悉幾乎立刻意識到Snap Framework: Custom snaplet handler won't render template幾乎類似的問題。在addRoutes之前使用addTemplates。類似的變化在這之後似乎工作,即用線

addTemplates h "" 

h是在

nicsnapInit :: HasHeist b => Snaplet (Heist b) -> SnapletInit b Nicsnap 

的參數,並相應更改應用程序初始化。

這將url更改爲「niced/netext」,即第一個snaplet名稱,然後是在snaplet中定義的路線。

是否可以僅添加「/ netext」-part?

回答

1

使用nestSnaplet "" nicsnap $ nicsnapInit ...。 nestSnaplet的第一個參數不是snaplet的名字。這是所有snaplet的路線都與之相關的URL。