/ / Catalyst $ c-> req-> params jest pusty? - perl, formy, parametry, katalizator

Catalyst $ c-> req-> params jest pusty? - perl, formy, parametry, katalizator

Próbuję Katalizować niektóre prototypowe strony z polami formularza. Wydaje się, że kontroler My Catalyst nie pobiera danych wejściowych z formularza po jego przesłaniu.

Próbowałem zredukować szablon i kontroler tak daleko, jak tylko mogę i nadal mam ten problem.

szablon to po prostu:

<body>
<form action="/minimal-testing" method="get">
<select id="select02">
<option value="cat1">cat1</option>
<option value="cat2">cat2</option>
</select>
<select id="select06">
<option value="1">1</option>
<option value="2">2</option>
</select>
<input type="submit" value="submit" title="submit" />
</form>
<p> Hello, params says: </p>
<p>
[% FOR param IN params ; param.key ; " = " ; param.value; END %]
</p>
</body>

Kontroler to:

sub minimal_testing :Path("minimal-testing") :Args(0) {
use Data::Dumper;
my ( $self, $c ) = @_;
$c->stash(params=>$c->req->params);
$c->stash(template => "dynamic/minimal-testing.tt");
$c->log->debug(Dumper($c->request->params));
}

Kiedy przeglądam formularz, wybieram z wybranych opcji i przesyłam, mój dziennik debugowania po prostu mówi

[debug] $VAR1 = {};

Oczywiście brakuje mi czegoś tak oczywistego, że po prostu tego nie widzę ... proszę mnie oświecić.

Odpowiedzi:

2 dla odpowiedzi № 1

Jesteś martwy, podejrzewam, że twój dziennik Catalyst powinien dać ci wskazówkę, co tu jest nie tak. Problem nie dotyczy Catalyst.

Zasadniczo jest to źle sformułowany HTML - twoje dane wejściowe formularza wymagają każdego name parametr, który można przekazać z powrotem do serwera w POST.

      <select id="select02" name="select02">
<option value="cat1">cat1</option>
<option value="cat2">cat2</option>
</select>

id jest dla CSS, name służy do przetwarzania FORMULARZA.

Wypróbuj to i powinieneś uzyskać logowanie takie jak:

[11:31:28.499 16014:debug] Body Parameters are:

.-------------------+----------------------------------------.
| Parameter         | Value                                  |
+-------------------+----------------------------------------+
| select02          | cat1                                   |
| select06          | 2                                      |
"-------------------+----------------------------------------"

Nadzieja, która pomaga.