与compojure打嗝的形式助手

时间:2013-03-03 22:32:52

标签: clojure compojure hiccup

异常:线程" main"中的异常java.io.FileNotFoundException:找不到类路径上的hiccup / form_helpers__init.class或hiccup / form_helpers.clj:

我试图让玩具组件启动并运行。最初的应用程序来自CloudBees及其针对Clojure / Compojure的ClickStart应用程序。我正在尝试使用打嗝form_helpers添加一个简单的表单(它还没有持续任何东西),但我得到了一个ClassNotFound异常。这就是我所做的:

project.clj:

(defproject mywebapp "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "http://example.com/FIXME"
:dependencies [[org.clojure/clojure "1.4.0"]
             [compojure "1.1.1"]
             [hiccup "1.0.1"]]
:plugins [[lein-ring "0.7.3"]]
:ring {:handler mywebapp.routes/app}
:profiles
{:dev {:dependencies [[ring-mock "0.1.3"]]}})

views.clj:

(ns mywebapp.views
(:use [hiccup core page]
    [hiccup form-helpers :only [form-to label text-area submit-button]]))
...
(defn shout-form []
[:div {:id "shout-form" }
 (form-to [:post "/form"]
        (label "shout" "What do you want to SHOUT?")
        [:br]
        (text-area "shout")
        [:br]
        (submit-button "SHOUT!"))])
...

1 个答案:

答案 0 :(得分:2)

啊,看起来我只是在打嗝时有一个旧形式的例子。 form_helpers来自之前的版本。

如果我从这里改变我的views.clj文件:

(:use [hiccup form-helpers])

看起来像这样:

(:use [hiccup form])

(并且可能这可以工作,虽然我没有测试过):

(:use [hiccup form :only [form-to label text-area submit-button]])

我不再收到错误了。

澄清一下:这个包曾经被称为“form_helpers”,现在简称为“form”。