【发布时间】:2014-06-21 21:12:37
【问题描述】:
我是 Erlang 和 N2O 的新手,但在 python web 开发方面有一些经验。我想在我的应用程序中通过电子邮件地址(电子邮件 - 密码)而不是使用 AVZ 创建身份验证。我已经使用此代码创建了注册页面(其他代码为 n2o_sample)。但是我没有把用户放到kvs,而是{error, no_container}
-module(signup_page).
-compile(export_all).
-include_lib("n2o/include/wf.hrl").
-include_lib("n2o_sample/include/users.hrl").
title() -> [ <<"Sign Up Page">> ].
main() -> #dtl{file = "login", app = n2o_sample,
bindings = [{title,title()},{body,body()}]}.
body() ->
[ #span{id=display}, #br{},
#span{body="Email: "}, #textbox{id=user}, #br{},
#span{body="Password: "}, #password{id=pass}, #br{},
#span{body="Confirm Password"}, #password{id=confirm}, #br{},
#button{id=signup, body="Sign Up",
postback=signup,source=[user,pass,confirm]}].
event(signup) ->
User = wf:q(user), Password = wf:q(pass), Confirm = wf:q(confirm),
U = kvs:get(user, User, undefined),
case U of
{ok, undefined} ->
case Password of
undefined -> wf:update(display, <<"No pass">>);
Confirm -> Status = kvs:put(#user{id=User}),
% -> {error, no_container}
io:format("~w~n", [Status]);
B -> io:format("~w~n", [B]) end;
A -> io:format("~w~n", [A]),
wf:update(display, <<"Already registered!">>) end;
event(_) -> [].
【问题讨论】:
-
这似乎源于同一个 KVS 错误:github.com/synrc/kvs/issues/7 我不认为这是您代码中的错误。
-
这个bug只针对KAI后端。
-
你能接受答案吗?