From 6f9d67132194bf56bded2aba378393c56970ae94 Mon Sep 17 00:00:00 2001 From: Sergio Benitez Date: Wed, 1 Nov 2023 12:08:57 -0500 Subject: [PATCH] Add a "clear message" button to cookies example. --- examples/cookies/src/message.rs | 11 +++++-- examples/cookies/templates/message.html.hbs | 32 +++++++++++++++------ 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/examples/cookies/src/message.rs b/examples/cookies/src/message.rs index 06a33a00..a1d8c9b0 100644 --- a/examples/cookies/src/message.rs +++ b/examples/cookies/src/message.rs @@ -16,12 +16,19 @@ fn submit(cookies: &CookieJar<'_>, message: Form<&str>) -> Redirect { Redirect::to(uri!(index)) } +#[delete("/")] +fn delete(cookies: &CookieJar<'_>) -> Redirect { + cookies.remove("message"); + Redirect::to(uri!(index)) +} + #[get("/")] fn index(cookies: &CookieJar<'_>) -> Template { let message = cookies.get("message").map(|c| c.value()); - Template::render("message", context! { message }) + let present = cookies.get("message").is_some(); + Template::render("message", context! { present, message }) } pub fn routes() -> Vec { - routes![submit, index] + routes![index, submit, delete] } diff --git a/examples/cookies/templates/message.html.hbs b/examples/cookies/templates/message.html.hbs index 7dcec374..df724332 100644 --- a/examples/cookies/templates/message.html.hbs +++ b/examples/cookies/templates/message.html.hbs @@ -7,18 +7,32 @@

Rocket Cookie Message

- {{#if message }} -

{{message}}

- {{else}} -

No message yet.

- {{/if}} -
- -

+

+ {{#if present}} + {{#if message}} + Message: {{message}} + {{else}} + Message: [empty message] + {{/if}} + {{else}} + No message yet. + {{/if}} +

+ + +
+
+ +
+ +

+ + +

+ Home