Ich habe ein seltsames Verhalten mit meinen Formen in Laravel 4. Ich habe eine "Einstellungen" -Seite mit zwei Formen, jeder (soll) POST zu einer Controller-Methode, aktualisieren Sie die Datenbank und kehren Sie zurück zur Einstellungsseite. Es scheint jedoch ein Problem zu geben, entweder mit der Art, wie meine Formulare funktionieren, oder mit meinen Routen.Laravel 4 - Mehrere Formulare auf derselben Seite?
Hier ist, wie es ist, vereinfacht:
Seite Einstellungen: (site.com/settings)
<div id="form-one" class="form-area">
{{ Form::open(array('action' => '[email protected]')) }}
{{ Form::text('optionvalue', 'Default')) }}
{{ Form::submit('Save Changes') }}
{{ Form::close() }}
</div>
<div id="form-two" class="form-area">
{{ Form::open(array('action' => '[email protected]')) }}
{{ Form::text('pagevalue', 'Default')) }}
{{ Form::submit('Save Changes') }}
{{ Form::close() }}
</div>
Also im Grunde zwei getrennte Formen auf der gleichen Seite, die zwei separate Methoden in der Post selbe Controller - wenn die Methode erfolgreich ist, leitet sie sie zurück zu "Einstellungen". Ich werde die Methoden nicht veröffentlichen, sie da getestet und sie funktionieren, glaube ich, das Problem in der Routen-Datei:
routes.php
// Checks if a session is active
Route::group(array('before' => 'require_login'), function()
{
Route::group(array('prefix' => 'settings'), function()
{
Route::get('/', '[email protected]');
Route::post('/', '[email protected]');
Route::post('/', '[email protected]');
});
});
Jetzt bin ich ziemlich sicher, dass es nicht mag die beiden POST-Routen sind so, aber ich kann mir keinen anderen Weg vorstellen, da die Formulare auf der gleichen Seite sind. Ich bekomme den Fehler:
Unknown action [[email protected]].
Da die Option Form zuerst kommt, denke ich. Wenn ich den Open-Form-Blade-Code herausnehme (für beide), lädt er die Seite - aber offensichtlich tut das Formular nichts.
Jede Hilfe wäre nett! Danke im Voraus.