Я работаю над формой с Laravel 5, следуя руководству из Openclassropms о Laravel 4, и это действительно дало мне тяжелое время.
В любом случае, я пытаюсь изменить эти строки в моем файле routes.php:
Route::get('users' , 'UsersController@getInfos');
Route::post('users', 'UsersController@postInfos');
С этой строкой:
Route::controller('users', 'UsersController');
Но это нарушает мою форму, я все еще могу видеть область ввода текста, но отправка ее дает мне следующую ошибку:
NotFoundHttpException в строке 145 RouteCollection.php
Вот мои контроллеры и шаблоны:
<?php namespace App\Http\Controllers;
use Illuminate\Support\Facades\Input;
class UsersController extends Controller {
public function getInfos()
{
return \View::make('infos');
}
public function postInfos()
{
echo 'The name is ' . Input::get('nom');
}
}
@extends('tempform')
А также
@section('content')
{!! Form::open(array('url'=>'users')) !!}
{!! Form::label('nom', 'Enter your name:') !!}
{!! Form::text('nom') !!}
{!! Form::submit('Submit') !!}
{!! Form::close() !!}
@stop
Кроме того, я использую другой URL-адрес после внесения изменений, как указано вначале в руководстве: gappsl / users >> gappsl / users / info
3 ответа
Вы должны создать в вашем контроллере новый метод под названием getIndex()
или postIndex()
в зависимости от того, какой HTTP-глагол вы будете использовать. Таким образом, маршрут /users
будет работать правильно.
Вам нужно изменить форму строки, открытую для:
{!! Form::open(array('url'=>'users/post-infos')) !!}
Для решения вашей функции postInfos()
Если вы используете метод Route::controller()
, он всегда ищет функции, начинающиеся с HTTP-глагола.
В вашем случае, если вы хотите указать postInfos()
в форме. Затем вам нужно изменить определение формы на это:
{!! Form::open(array('url'=>'users/infos', 'method'=>'POST')) !!}
Или
Если вы не знаете, какие маршруты использовать, просто перейдите в командную строку в корневом каталоге вашего приложения и введите php artisan route:list
.
Там вы можете найти, какой URI указывает на какой метод с полным путем к контроллеру.
Похожие вопросы
Новые вопросы
php
PHP — это широко используемый язык сценариев общего назначения с открытым исходным кодом, мультипарадигмальный, динамически типизированный и интерпретируемый, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.