gpt4 book ai didi

mysql - BeepBeep 和 ErlyDB 集成问题

转载 作者:可可西里 更新时间:2023-11-01 08:38:25 24 4
gpt4 key购买 nike

进一步了解我对 Erlang 和 ErlyDB 的探索。我正在尝试让 ErlyDB 与 BeepBeep 一起工作

当在 BeepBeep 环境之外运行时,我的 ErlyDB 设置工作正常(参见 Debugging ErlyDB and MySQL )。我基本上已经获取了工作代码并尝试让它在 BeepBeep 中运行。

我的 Controller 中有以下代码:

handle_request("index",[]) ->
erlydb:start(mysql,Database),
erlydb:code_gen(["thing.erl"],mysql),
NewThing = thing:new_with([{name, "name"},{value, "value"}]),
thing:save(NewThing),
{render,"home/index.html",[{data,"Hello World!"}]};

当我调用 URL 时,响应输出“服务器错误”。没有报告其他错误或异常信息。

我尝试将调用包装在 try/catch 中以查看是否存在潜在错误 - 调用 thing:new_with() 时肯定存在异常,但没有更多信息可用.

堆栈跟踪报告:

{thing,new,[["name","value"]]}
{home_controller,create,1}
{home_controller,handle_request,3}
{beepbeep,process_request,4}
{test_web,loop,1}
{mochiweb_http,headers,4}
{proc_lib,init_p_do_apply,3}

最佳答案

使用模式匹配断言事物在调用 thing:new/1 之前工作:

ok = erlydb:start(mysql,Database),
ok = erlydb:code_gen(["thing.erl"],mysql),

您只包括堆栈跟踪,还要查看异常消息。我怀疑错误是你得到了一个“undef”异常。但检查它是这样的。堆栈跟踪中的第一行表明使用 ["name", "value"] 作为参数调用 thing:new/1 时出现问题。

有点奇怪的是,您在堆栈跟踪中显示了一个 handle_request 子句,它没有按照 {home_controller,create,1} 调用 home_controller:create/1。 handle_request/2 函数中的其他子句是什么样的?

关于mysql - BeepBeep 和 ErlyDB 集成问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1231870/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com