0

我使用“lein new compojure-app”创建一个 web 项目,在 project.clj 中已经导入了 hiccup:

: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 告诉我我可以使用函数:group、input-filed、make-id、make-name、with-group,但没有 form-to,但是 form-to 是包 hiccup.form 中的一个函数

我该如何解决?

4

1 回答 1

0

通常,使用:requirewith: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)))
于 2019-01-29T04:35:53.653 回答