Re: [Erlangweb-users] Problem with DTL and password field in forms
Brought to you by:
etcerlangweb,
paulgray
|
From: Gilbert R. <erl...@la...> - 2010-02-24 17:02:59
|
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","nonode@nohost-9933714052825178113"}]},
{"session",[]},
{"__path",[]},
{"__cookie_key","nonode@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","nonode@nohost-9933714052825178113"}]},
{"session",[]},
{"__path",[]},
{"__cookie_key","nonode@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
|