On Tue, Feb 23, 2010 at 08:23:42AM +0000, Michal Ptaszek wrote:
> > You're welcome.
> >
> > I found another issue with DTL. When I use {{ variable }} in a
> > template,
> > and set the value with wpart:fset("variable", "Hello"). Erlydtl
> > doesn't find
> > it.
> >
...
>
> Which version of erlydtl are you using?
>
> The one that is bundled with standard Erlang Web contains a patch
> for erlydtl_runtime: when accessing the request dictionary, the
> key will be first transformed into a string, an if the value is not
> found, the original atom will be used (erlydtl_runtime:18).
>
Hello,
I am using erlydtl 0.5.3. I do see the code around line 18, but in my
case find_value at line 5 is used or fetch_value at line 38. Both fail.
fetch_value is called by the use of {{ hello }}
fetch_value(Key, Data) ->
case find_value(Key, Data) of
undefined ->
throw({undefined_variable, Key});
Val ->
Val
end.
Key: hello
Data: [{"get",[]},
{"__https",false},
{"__ip",{194,79,152,115}},
{"__cookies",
[{"eptic_cookie","non...@nohost-9933714052825178113"}]},
{"session",[]},
{"__path",[]},
{"__cookie_key","non...@nohost-9933714052825178113"},
{"__controller",front},
{"hello","Hello world!"}]
find_value at line 5 is called when using {% if hello %} Hello {% endif %}
find_value(Key, L) when is_list(L) ->
proplists:get_value(Key, L);
Key: hello
L: [{"get",[]},
{"__https",false},
{"__ip",{194,79,152,115}},
{"__cookies",
[{"eptic_cookie","non...@nohost-9933714052825178113"}]},
{"session",[]},
{"__path",[]},
{"__cookie_key","non...@nohost-9933714052825178113"},
{"__controller",front},
{"hello","Hello world!"}]
Here's the relevant controller code:
index(_Args) ->
wpart:fset("hello", "Hello world!"),
{template, "test/index.html"}.
And the template
<html>
<head>
</head>
<body>
<h1> {% if hello %} Hello ! {% endif %}</h1>
</body>
</html>
This is on a fresh install, downloaded with
hg clone https://bitbucket.org/etc/erlang-web/
Regards
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Erlangweb-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/erlangweb-users
http://www.erlang-web.org/