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