为什么 compojure-app 和 hiccup 不能导入函数 hiccup.form/form-to?
Why can’t compojure-app and hiccup import function hiccup.form/form-to?
我用"lein new compojure-app"创建了一个web项目,hiccup已经导入project.clj:
:dependencies [[org.clojure/clojure "1.8.0"]
[compojure "1.5.2"]
[hiccup "1.0.5"]
我可以看到 jar 文件
我将 intellij 用于 ide,在 home.clj:
(ns ansible.routes.home
(:require [compojure.core :refer :all]
[ansible.views.layout :as layout]
[hiccup.form :refer :all]
))
但是写的时候:
(form-to [ :post "/"]
intellij 告诉我 form-to can't be resolved
,如果我使用这个:
[hiccup.form :as hf]
然后写
(hf/
intellij 告诉我可以使用 function:group,input-filed,make-id,make-name,with-group,but no form-to,but form-to is a function in package hiccup.form
我该如何解决这个问题?
通常,将 :require
与 :refer :all
一起使用被认为是错误的形式,因为它可能会在您不注意的情况下隐藏某些功能。
检查您在 home.clj
中需要的任何其他名称空间是否已经具有名为 form-to
的函数。尝试使用类似的东西:
(ns myapp.routes.home
(:require [compojure.core :as cc :refer [defroutes GET]]
[myapp.views.layout :as layout]
[hiccup.form :as hf]))
(defn home []
(layout/common [:h1 "Hello World!"]))
(defroutes home-routes
(GET "/" [] (home)))
我用"lein new compojure-app"创建了一个web项目,hiccup已经导入project.clj:
:dependencies [[org.clojure/clojure "1.8.0"]
[compojure "1.5.2"]
[hiccup "1.0.5"]
我可以看到 jar 文件
我将 intellij 用于 ide,在 home.clj:
(ns ansible.routes.home
(:require [compojure.core :refer :all]
[ansible.views.layout :as layout]
[hiccup.form :refer :all]
))
但是写的时候:
(form-to [ :post "/"]
intellij 告诉我 form-to can't be resolved
,如果我使用这个:
[hiccup.form :as hf]
然后写
(hf/
intellij 告诉我可以使用 function:group,input-filed,make-id,make-name,with-group,but no form-to,but form-to is a function in package hiccup.form
我该如何解决这个问题?
通常,将 :require
与 :refer :all
一起使用被认为是错误的形式,因为它可能会在您不注意的情况下隐藏某些功能。
检查您在 home.clj
中需要的任何其他名称空间是否已经具有名为 form-to
的函数。尝试使用类似的东西:
(ns myapp.routes.home
(:require [compojure.core :as cc :refer [defroutes GET]]
[myapp.views.layout :as layout]
[hiccup.form :as hf]))
(defn home []
(layout/common [:h1 "Hello World!"]))
(defroutes home-routes
(GET "/" [] (home)))