【发布时间】:2013-04-23 05:30:50
【问题描述】:
我正在将几个月前制作的旧 Web 应用程序从 Noir 转换为 Compojure,并且我正在使用 Lib-Noir 插件。看来会话/放置!要么以某种我不理解的方式进行了更改,要么出于某种原因而出现故障。
在这里,我可以看到4Clojure 似乎可以毫无问题地使用它:See Line 51。我还发现 this thread 涵盖了相同的问题,但似乎没有令人满意的答复。
这应该可以(Noir):
user=> (require '[noir.session :as sesh])
nil
user=> (sesh/put! :user "me")
ClassCastException clojure.lang.Var$Unbound cannot be cast to clojure.lang.Atom
clojure.core/swap! (core.clj:2162)
以上是我在网页上查看的相同错误。基本上我被卡住了。
编辑添加
似乎我对命令行部分造成了一些混淆:(put!)在程序中也不起作用。没有什么可写的,除了它是 (shesh/put! :uname user) 并且看起来 :uname 不起作用。当我使用与以前相同的工具时,我很困惑为什么它以前会起作用而不是现在起作用。这是对我大约 6 个月前建立的网站的重写。我只是把它从 Noir 移到 Compojure。据我所知,lib-noir 会话与 Noir 中的会话基本相同。
另一个编辑
我把代码放在了 github 上。这不是完成的项目,但希望有人能破译这里发生了什么:https://github.com/dt1/SoloResume
【问题讨论】:
标签: clojure