我目前正在学习编写 Erlang 代码。我在 Chicago Boss 之上有一个 Web 应用程序。我有一个名为 Todo 的模型,我想在其上提供 CRUD 操作作为 REST API。
在我的 PUT 方法中,我有以下代码:
index('PUT', [Id]) ->
Todo = boss_db:find(Id),
Body = element(2, mochijson:decode(Req:request_body())),
%% Set the new values
NewTodo = Todo:attributes([
{subject, proplists:get_value("subject", Body)},
{done, proplists:get_value("done", Body)}
])
,
{json, [{todo, element(2, NewTodo:save())}]}.
如何优化此代码片段?或者这已经是最好的了?
是否有一些“更智能”的方法可以将 proplist 的键更改为原子键?像这样:
[{"subject", "Foo"}] -> [{subject, "Foo"}].
我还发现分配一个 Todo 变量然后拥有一个 NewTodo 有点乏味。遗憾的是,我在 github 上找不到一些可以查看的好示例 Erlang Chicago Boss 应用程序。