EEx.SmartEngine (EEx v1.12.3) View Source
The default engine used by EEx.
It includes assigns (like
@foo) and possibly other
conveniences in the future.
iex> EEx.eval_string("<%= @foo %>", assigns: [foo: 1]) "1"
In the example above, we can access the value
@foo. This is useful because
a template, after being compiled, can receive different
assigns and would not require recompilation for each
Assigns can also be used when compiled to a function:
# sample.eex <%= @a + @b %> # sample.ex defmodule Sample do require EEx EEx.function_from_file(:def, :sample, "sample.eex", [:assigns]) end # iex Sample.sample(a: 1, b: 2) #=> "3"