Re: [beepbeep] - работа с формами
От: Mamut Швеция http://dmitriid.com
Дата: 21.08.09 15:30
Оценка:
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}.
avalon 1.0rc2 rev 295, zlib 1.2.3 (01.08.2009 02:47:12 EEST :z)(Qt 4.5.1)


dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.