pub trait HandlebarsConnExt {
// Required methods
fn assign(
self,
key: impl Into<Cow<'static, str>>,
data: impl Serialize,
) -> Self;
fn render_with(self, template: &str, data: &impl Serialize) -> Self;
fn render(self, template: &str) -> Self;
fn assigns(&self) -> Option<&Assigns>;
fn assigns_mut(&mut self) -> &mut Assigns;
}Expand description
Extension trait that provides handlebar rendering capabilities to
trillium::Conns.
Required Methods§
Sourcefn assign(self, key: impl Into<Cow<'static, str>>, data: impl Serialize) -> Self
fn assign(self, key: impl Into<Cow<'static, str>>, data: impl Serialize) -> Self
Registers an “assigns” value on this Conn for use in a template.
See example usage at Handlebars::new
Sourcefn render_with(self, template: &str, data: &impl Serialize) -> Self
fn render_with(self, template: &str, data: &impl Serialize) -> Self
renders a registered template by name with the provided data as
assigns. note that this does not use any data accumulated by
HandlebarsConnExt::assign
use trillium_handlebars::{Handlebars, HandlebarsConnExt, HandlebarsHandler};
use trillium_testing::TestServer;
#[derive(serde::Serialize)]
struct User {
name: &'static str,
};
let mut handlebars = Handlebars::new();
handlebars.register_template_string("greet-user", "Hello {{name}}")?;
let handler = (
HandlebarsHandler::new(handlebars),
|mut conn: trillium::Conn| async move {
conn.render_with("greet-user", &User { name: "handlebars" })
},
);
let app = TestServer::new(handler).await;
app.get("/")
.await
.assert_ok()
.assert_body("Hello handlebars");Sourcefn render(self, template: &str) -> Self
fn render(self, template: &str) -> Self
renders a registered template, passing any accumulated assigns to
the template. See example at Handlebars::new
Sourcefn assigns(&self) -> Option<&Assigns>
fn assigns(&self) -> Option<&Assigns>
retrieves a reference to any accumulated assigns on this conn
Sourcefn assigns_mut(&mut self) -> &mut Assigns
fn assigns_mut(&mut self) -> &mut Assigns
retrieves a mutable reference to any accumulated assigns on this conn
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".