Tôi nghĩ rằng tôi có một vấn đề khá đơn giản ở đây. Nhưng tôi đã nhìn vào màn hình này quá lâu. Vì vậy, tôi đang cố gắng (và thất bại) để có được các phiên nhà nước làm việc trong Compojure. Mã refheap dán is here.Làm thế nào để sử dụng lib-noir stateful-sessions trong Compojure
Bạn có thể thấy tôi đang cố gắng sử dụng lib-noir (dòng 62) để khởi tạo phiên trạng thái. Sau đó, khi ứng dụng đang chạy, tôi cố gắng thực hiện cuộc gọi đến session/put! một số dữ liệu trong phiên (dòng 43).
Bây giờ, stacktrace này nói rằng trong session.put !, lib-noir đang cố gắng trao đổi một phiên var mà không bị ràng buộc. Bây giờ, tôi nghĩ rằng tôi đã làm điều đó trên dòng 62. Vì vậy, tôi chắc chắn đây là một sửa chữa đơn giản mà một bộ mắt sẽ thấy.
java.lang.ClassCastException: clojure.lang.Var$Unbound cannot be cast to clojure.lang.Atom
at clojure.core$swap_BANG_.invoke(core.clj:2110)
at noir.session$put_BANG_.invoke(session.clj:18)
at bkell.http.handler$fn__6159.invoke(handler.clj:156)
at compojure.core$make_route$fn__3800.invoke(core.clj:93)
at compojure.core$if_route$fn__3784.invoke(core.clj:39)
at compojure.core$if_method$fn__3777.invoke(core.clj:24)
at compojure.core$routing$fn__3806.invoke(core.clj:106)
at clojure.core$some.invoke(core.clj:2390)
at compojure.core$routing.doInvoke(core.clj:106)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
...
at java.lang.Thread.run(Thread.java:619)
Thanks
Bạn đã bao giờ tìm thấy giải pháp cho vấn đề này chưa? Tôi đã phải đối mặt với cùng một vấn đề và bắt đầu một chủ đề, nhưng cũng không nhận được bất kỳ phản hồi nào. – dizzystar