记录不存在

时间:2013-10-13 13:05:09

标签: erlang mnesia yaws

我使用'Building web application with Erlang' book的yaws教程关注REST API。

启动$ yaws时出现以下错误:

file:path_eval([".","/Users/<uername>"],".erlang"): error on line 3: 3: evaluation failed with reason error:{undefined_record,airport} and stacktrace [{erl_eval,exprs,2,[]}]

.erlang档案:

application:start(mnesia).
mnesia:create_table(airport,[{attributes, record_info(fields, airport)}, {index, [country]}]).
可以找到

rest.erl文件here

如何定义记录?我试图添加rd(airport, {code, city, country, name}).但没有成功。

1 个答案:

答案 0 :(得分:1)

记录'机场'在模块休息中定义,'休息'中的所有功能都知道记录'机场'。但是当你启动应用程序时,erlang会执行.erlang文件,这与模块休息无关。所以,erlang只是不知道什么是记录机场以及在哪里找到它。

最简单的解决方法我相信 - 在模块rest中定义一些函数(例如'init'),这个函数必须包含你现在所有的.erlang文件,导出它,并在.erlang文件中调用其余:的init()