現在、Erlang のコーディングを学んでいます。Chicago Boss の上に Web アプリケーションがあります。Todo というモデルがあり、REST API として CRUD 操作を提供したいと考えています。
私の 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())}]}.
このコード フラグメントを最適化するにはどうすればよいですか? それとも、これはすでに可能な限り最高ですか?
プロップリストのキーをアトムキーに変更する「よりスマートな」方法はありますか? このような:
[{"subject", "Foo"}] -> [{subject, "Foo"}].
また、Todo 変数を割り当ててから NewTodo を作成するのは、ちょっと面倒だと思います。悲しいことに、チェックアウトできる github で Erlang Chicago Boss アプリの良い例を見つけることができません。