From ce35317dafdd08234bb45647f25dda5fa33909fd Mon Sep 17 00:00:00 2001 From: Billy Chan Date: Mon, 20 Sep 2021 15:15:39 +0800 Subject: [PATCH] Refactor rocket example --- README.md | 9 +++------ examples/rocket_example/src/main.rs | 13 +++++++------ src/lib.rs | 15 ++++++--------- 3 files changed, 16 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index c362a592..362be72c 100644 --- a/README.md +++ b/README.md @@ -122,7 +122,6 @@ async fn list( let paginator = Post::find() .order_by_asc(post::Column::Id) .paginate(&conn, posts_per_page); - let num_pages = paginator.num_pages().await.ok().unwrap(); // Fetch paginated posts let posts = paginator @@ -130,16 +129,14 @@ async fn list( .await .expect("could not retrieve posts"); - let flash = flash.map(FlashMessage::into_inner); - Template::render( "index", context! { - posts: posts, - flash: flash, page: page, posts_per_page: posts_per_page, - num_pages: num_pages, + posts: posts, + flash: flash.map(FlashMessage::into_inner), + num_pages: paginator.num_pages().await.ok().unwrap(), }, ) } diff --git a/examples/rocket_example/src/main.rs b/examples/rocket_example/src/main.rs index 87899d84..c1df1ee1 100644 --- a/examples/rocket_example/src/main.rs +++ b/examples/rocket_example/src/main.rs @@ -79,28 +79,29 @@ async fn list( page: Option, flash: Option>, ) -> Template { + // Set page number and items per page let page = page.unwrap_or(0); let posts_per_page = posts_per_page.unwrap_or(DEFAULT_POSTS_PER_PAGE); + + // Setup paginator let paginator = Post::find() .order_by_asc(post::Column::Id) .paginate(&conn, posts_per_page); - let num_pages = paginator.num_pages().await.ok().unwrap(); + // Fetch paginated posts let posts = paginator .fetch_page(page) .await .expect("could not retrieve posts"); - let flash = flash.map(FlashMessage::into_inner); - Template::render( "index", context! { - posts: posts, - flash: flash, page: page, posts_per_page: posts_per_page, - num_pages: num_pages, + posts: posts, + flash: flash.map(FlashMessage::into_inner), + num_pages: paginator.num_pages().await.ok().unwrap(), }, ) } diff --git a/src/lib.rs b/src/lib.rs index 7b54e2fc..6e58def9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -181,29 +181,26 @@ //! // Set page number and items per page //! let page = page.unwrap_or(0); //! let posts_per_page = posts_per_page.unwrap_or(DEFAULT_POSTS_PER_PAGE); -//! +//! //! // Setup paginator //! let paginator = Post::find() //! .order_by_asc(post::Column::Id) //! .paginate(&conn, posts_per_page); -//! let num_pages = paginator.num_pages().await.ok().unwrap(); -//! +//! //! // Fetch paginated posts //! let posts = paginator //! .fetch_page(page) //! .await //! .expect("could not retrieve posts"); -//! -//! let flash = flash.map(FlashMessage::into_inner); -//! +//! //! Template::render( //! "index", //! context! { -//! posts: posts, -//! flash: flash, //! page: page, //! posts_per_page: posts_per_page, -//! num_pages: num_pages, +//! posts: posts, +//! flash: flash.map(FlashMessage::into_inner), +//! num_pages: paginator.num_pages().await.ok().unwrap(), //! }, //! ) //! }