私が持っているスタック トレースには、コードへの参照が含まれていません。ここで何が間違っているのかを見つける方法がわかりません:
LazySeq.java:47 clojure.lang.LazySeq.sval
LazySeq.java:56 clojure.lang.LazySeq.seq
Cons.java:39 clojure.lang.Cons.next
RT.java:560 clojure.lang.RT.next
core.clj:61 clojure.core/next
core.clj:461 clojure.core/str$fn[fn]
core.clj:463 clojure.core/str
RestFn.java:140 clojure.lang.RestFn.applyTo
core.clj:540 clojure.core/apply
core.clj:90 hiccup.core/eval460$fn[fn]
MultiFn.java:163 clojure.lang.MultiFn.invoke
Var.java:365 clojure.lang.Var.invoke
stacktrace.clj:26 ring.middleware.stacktrace/html-ex-view
stacktrace.clj:40 ring.middleware.stacktrace/html-ex-response
stacktrace.clj:51 ring.middleware.stacktrace/ex-response
stacktrace.clj:61 ring.middleware.stacktrace/wrap-stacktrace$fn[fn]
reload_modified.clj:15 ring.middleware.reload-modified/wrap-reload-modified$fn[fn]
stacktrace.clj:59 ring.middleware.stacktrace/wrap-stacktrace$fn[fn]
jetty.clj:17 ring.adapter.jetty/proxy-handler$fn[fn]
(Unknown Source) ring.adapter.jetty.proxy$org.mortbay.jetty.handler.AbstractHandler$0.handle
HandlerWrapper.java:152 org.mortbay.jetty.handler.HandlerWrapper.handle
Server.java:324 org.mortbay.jetty.Server.handle
HttpConnection.java:534 org.mortbay.jetty.HttpConnection.handleRequest
HttpConnection.java:879 org.mortbay.jetty.HttpConnection$RequestHandler.content
HttpParser.java:741 org.mortbay.jetty.HttpParser.parseNext
HttpParser.java:213 org.mortbay.jetty.HttpParser.parseAvailable
HttpConnection.java:403 org.mortbay.jetty.HttpConnection.handle
SocketConnector.java:228 org.mortbay.jetty.bio.SocketConnector$Connection.run
QueuedThreadPool.java:522 org.mortbay.thread.QueuedThreadPool$PoolThread.run
これは、フォームの送信後に発生します。コントローラーはレコードをデータベースに書き込み、ページにリダイレクトします。
(defn create-submit [& m]
(let [p (model/create m)]
(response/redirect (str "/post/" (:id p)))))
スタック トレースで問題が発生していますが、ページのレンダリングは行われていません。また、ブラウザはリダイレクトされたページではなく元のページを指しているため、リダイレクトは決して起こらないと考えています。
アイデア?
編集:
いくつかのprintlnで、conjにclojureqlを呼び出しているモデル/作成呼び出しまで追跡しました! 新しい記録。最初の println はコンソール ウィンドウに表示されますが、2 番目は表示されません。
(defn create [m]
(let [p (new-post-from m)]
(println "about to add p to table " (:id p))
(cql/conj! (cql/table :posts) p)
(println "after adding p to table")
p))