Маршруты не возвращают индексную страницу

У меня есть имя файла create.blade.php внутри папки просмотров / статей. По следующему маршруту мне нужно вызвать эту страницу, но я получаю сообщение «Страница не найдена».

Route::get('/article/create', 'ArticleController@create');

контролер

public function index()
{
    //Get articles
    $articles = Article::select('id','title','body', 'created_at')
                        ->orderBy('id', 'desc')
                        ->get();
    // return data
    return view('articles.index')->with('articles', json_decode($articles));
}

public function create() 
{
    return view('articles.create');
}

маршруты

//List Single Article
Route::get('article/{id}', 'ArticleController@show');
Route::get('/article/create', 'ArticleController@create');

Покажите нам код метода index вашего ArticleController.

Sand Of Vega 05.10.2018 10:02

Показать все маршруты, возможно, у вас есть предыдущий маршрут Route::get('/article/{slug}', 'ArticleController@show');

Saad Suri 05.10.2018 10:03
Если вы делаете Route::resource('article', 'ArticleController') после этого объявления, тогда вы перезаписываете свой маршрут. Я не знаю, происходит ли это здесь, потому что этого фрагмента кода недостаточно, чтобы пройти
apokryfos 05.10.2018 10:05

@SandOfVegaЯ обновил свой вопрос

user1687891 05.10.2018 10:09

В идеале /article/create должен указывать на метод create() (ArticleController@create) и использовать представление resources/views/articles/create.blade.php. Убедитесь, что ваш маршрут действительно доступен (php artisan route:list) и что вы случайно не набрали /articles/create.

brombeer 05.10.2018 10:15

@kerbholz Но метод create тоже не вызывается.

user1687891 05.10.2018 10:18

разместите здесь код create.blade.php. возможно, вам не хватает csrf ..

Salman Zafar 05.10.2018 10:43
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
7
207
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Измени свой маршрут

Route::get('article/create', 'ArticleController@create');

И вы можете указать все методы CRUD, используя единый ресурсный маршрут.

Route::resource('article', 'ArticleController');

И если все еще не работает (просто предположить), добавьте свой маршрут в файл VerifyCsrfToken.php в App\Http\Middleware

protected $except = [
 'article/create',
 // other routes
];

вы можете попробовать запустить команду composer dump-autoload, а затем попробовать?

Leena Patel 05.10.2018 10:57

вы использовали Route::resource('article', 'ArticleController')? если да, то вам не нужно указывать новый маршрут для метода создания

Leena Patel 05.10.2018 11:05

Спасибо @leena, мне лучше использовать Route :: resource

user1687891 05.10.2018 11:11

Другие вопросы по теме