我试图在我的应用程序中设置路线,以便:
到目前为止,我的路由代码是:
(defn controller-routes [locale]
(home/c-routes locale)
(search/c-routes locale)))
(defroutes app-routes
(route/resources "/")
(context "/:locale" [locale]
(controller-routes locale))
no-locale-route
(route/not-found "Not Found"))搜索/c-路线:
(defn c-routes [locale]
(GET "/search" [] (index locale)))家庭/c-路线:
(defn c-routes [locale]
(GET "/" [] (index locale)))我不明白为什么这不能正常工作,但是目前"/uk/search/“匹配正确,但是"/uk/”给出了404页。
任何帮助都将不胜感激。谢谢。
发布于 2013-03-17 16:57:00
controller-routes是一个正常的函数,到目前为止,它返回最后一条路径,即搜索,因此只有搜索工作。您需要的是使controller-routes成为一个使用defroutes的路由,并更改c-路由:
搜索/c-路线:
(def c-routes (GET "/search" [locale] (index locale)))家庭/c-路线:
(def c-routes (GET "/" [locale] (index locale)))在使用上述路线的地方:
(defroutes controller-routes
home/c-routes
search/c-routes)
(defroutes app-routes
(route/resources "/")
(context "/:locale" [locale]
controller-routes)
no-locale-route
(route/not-found "Not Found"))https://stackoverflow.com/questions/15463302
复制相似问题