У меня возникло странное поведение с моими формами в Laravel 4. У меня есть страница настроек с двумя формами, каждая из которых (должна быть) POST для контроллера, обновлять базу данных и возвращаться на страницу настроек. Однако, похоже, проблема связана с тем, как работают мои формы или моими маршрутами.Laravel 4 - Несколько форм на одной странице?
Вот как это, упрощена:
Параметры страницы: (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>
Так в основном, два отдельных форм на той же странице, которые отправляют на двух отдельных методов в тот же самый контроллер - когда метод будет успешным, он перенаправляет их обратно в «настройки». Я не буду размещать методы, так как протестировали их, и они работают, я считаю, что проблема в файле маршрутов:
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]');
});
});
Теперь я уверен, что это не нравится оба маршрута POST подобны этому, однако я не могу придумать другой способ сделать это, так как формы находятся на одной странице. Я получаю ошибку:
Unknown action [[email protected]].
Поскольку форма варианта на первом месте, я думаю. Если я беру код бланка открытой формы (для обоих), он загружает страницу - но, очевидно, форма ничего не делает.
Любая помощь будет приятной! Заранее спасибо.