2011-02-17 30 views
1

这是我如何定义我的应用程序:的Compojure 0.6.0:问题后得到的参数与谷歌应用程序引擎

(defroutes index 
    (GET "/" [] (main-page)) 
    (GET "/form" [] (render-page "Vote" (render-form))) 
    (POST "/vote" {params :params} (post-vote params)) 
    (route/not-found "Page not found")) 

(def app (site index)) 

(defservice app) 

这里的场地用于捕捉:PARAMS,这是的Compojure 0.6.0新。不过,我在投票后得到一张空白的地图。我不知道上面的代码有什么问题吗?

回答

0

我在邮件列表回答,请保证,您的形式是真正发送PARAMS(在HTML表单输入控件必须有名称=“...”属性)

2

如果你正在运行这在谷歌应用程序引擎上,我不认为你可以使用(网站)便利功能,因为它包括环的(包裹multipart-params)函数,它使用不允许由谷歌Java类。

除非您从窗体上传文件,否则您可能不需要multipart-params。尝试从您的命名空间中移除compojure.handler并且用类似更换您(高清应用(网站索引)):

(def app 
    (-> index 
    (wrap-keyword-params) 
    (wrap-nested-params) 
    (wrap-params))) 

干杯, 科林