我目前正在學習編碼Erlang。我在芝加哥老闆之上有一個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())}]}.
我怎樣才能優化這個代碼片斷?或者這已經是最好的了?
是否有一些「聰明」的方式來改變一個proplist的鍵到原子鍵?像這樣:
[{"subject", "Foo"}] -> [{subject, "Foo"}].
我也發現它有點繁瑣的分配一個Todo變量,然後有一個NewTodo。可悲的是,我無法在github上找到一些Erlang Chicago Boss應用程序的例子,我可以查看。
對不起,但element()函數做什麼?我對此很陌生。 :) –