CRUD the QM Way
A QuarterMaster project (result).
Controller
%controllers/crud.r
REBOL [
Title: "QM CRUD Template"
Type: 'controller
Default: "list"
]
event "prepare" does [
db: open db::a-table
]
action "list" does [
entries: copy db
]
action "show" [id: integer!] does [
entry: select db id
]
action "destroy" [id: integer!] does [
entry: select db id
entry/destroy
redirect-to %/crud/list
]
action "new" does [
entry: select db 'new
]
action "create" does [
entry: select db 'new
either entry/inject get-request 'entry [
entry/store
flash notice "Record Storage Successful!"
redirect-to %/crud
][
render %/crud/new
]
]
action "edit" [id: integer!] does [
entry: select db id
]
action "update" [id: integer!] does [
entry: select db id
either entry/inject get-request 'entry [
entry/store
flash notice "Record was successfully updated"
redirect-to join %/crud/ id
][
render %/crud/edit
]
]