我本周开始学习Clojure的,特别是我学习web开发与Luminus公司。因为我想了解CRUD过程中,我设置的功能,我的文章保存到DB:复选框在Luminus公司
(defn save-post! [{:keys [params]}]
(if-let [errors (validate-post params)]
(-> (response/found "/posts")
(assoc :flash (assoc params :errors errors)))
(do
(db/save-post!
(assoc params :created_at (java.util.Date.)))
(response/found "/posts"))))
查询是非常基本的:
-- :name save-post! :! :n
-- :doc creates a new post record
INSERT INTO posts
(title, body, active, created_at)
VALUES (:title, :body, :active, :created_at)
但HTML形式都有一个复选框领域:
<input type="checkbox" name="active" value="1">Published<br />
并且当没有选择,该字段不发送和SQL插入查询发送错误消息“无活性字段”。我如何检查元素“active”是否已设置,并将它添加到“params”为true或false?
是这样的:
(assoc params :active (if (nil? params/active) false true))
后 “:created_at(java.util.Date)” 行。