Hello, DemAS, you write:
DAS> Задача: на форме пользователь вводит значение, жмет клавишу, результат
DAS> сохраняется в базе данных.
DAS> Моя реализация:
DAS> /views/add_run.html:
DAS> [html]
DAS> {% extends "../base.html" %}
DAS> {% block content %}
DAS> Getting: {{ data }}
DAS> <form action="/home/run_create" method="post">
DAS> <input type="text" name="date" id="date"/>
DAS> <input type="text" name="time" id="time"/>
DAS> <input type="text" name="distance" id="distance"/>
DAS> <input type="submit" name="submit" value="Save"/>
DAS> </form>
DAS> {% endblock %}
DAS> [/html]
DAS> home_controller.erl:
DAS> DAS> handle_request("run_create", [])->
DAS> io:format("here~n"),
DAS> PostData = ewgi_api:remote_user_data(Env),
DAS> % Date = proplists:get_value("date", PostData),
DAS> io:format("~p~n", [PostData]),
DAS> {redirect, "/"};
DAS> Вывод на экран в момент нажатия клавиши Save:
DAS> DAS> =INFO REPORT==== 21-Aug-2009::15:45:43 ===
DAS> Trying file: /home/demas/study/erlang/sport/couch/views/home/add_run.html
DAS> here
DAS> undefined
DAS> =INFO REPORT==== 21-Aug-2009::15:45:46 ===
DAS> Trying file: /home/demas/study/erlang/sport/couch/views/home/index.html
DAS> То есть, уже PostData оказывается неопределенной. Собственно, как в
DAS> home_controller.erl мне добраться до значения, введенных в поля формы?
А никак
Потому что POST-данные при редиректе сохранить невозможно в силу особенностей HTTP. Единственный способ — это перенести все POST-данные в GET-параметры типа
GetData = [Key ++ "=" ++ Value || {Key, Value} <- PostData],
GetDataString = string:join(GetData, "&"),
{redirect, "/?" ++ GetDataString}.