Laravel один и тот же контроллер работает с одним маршрутом, а не с другим

Обновить

Чтобы избежать отладки и вопросов о вызове ajax, я создал метод index в контроллере только с echo 'hey!'и все еще получаю то же самое:

app.url / blocktest дай мне hey, но переключившись на app.url / pictures, закомментировав один маршрут и раскомментировав другой, дайте мне 404 ошибка.

Обновление и

Я создаю свое первое приложение с помощью laravel (версия 5.4), но в процессе загрузки изображения с обрезкой моего маршрута (изначально фотографии) появляется ошибка 404, после нескольких часов отладки я ничего не получаю, поэтому меняю маршрут и его начал работать, потом снова заблокировался, поэтому я немного запутался и думаю, что я действительно чего-то не понимаю. мои настоящие маршруты:

  Route::resource('partners', 'PartnersController');
//Route::resource('pictures', 'PicturesController');
Route::resource('blocktest', 'PicturesController');

таким образом, все работает нормально, мой пост ajax на моем PicturesController и все идет хорошо, вот функция контроллера:

public function store(Request $request)
{
// echo 'hey';
$requests = request()->file('picture');
foreach ($requests as $picture) {
$filename  = time() . '.' . $picture->getClientOriginalExtension();
$path = public_path('pictures/' . $filename);
Image::make($picture->getRealPath())->crop(600, 600)->save($path);$picture = new Picture;
$picture->partner_id = $request['partner_id'];
$picture->src = $filename;
$picture->save();
}
}

но если я изменю маршруты на:

Route::resource('partners', 'PartnersController');
Route::resource('pictures', 'PicturesController');
// Route::resource('blocktest', 'PicturesController')

пытаясь использовать pictures и укажите Ajax на новый маршрут, который я получаю 404 от nginx.

Вот результат php artisan route:list

+--------+-----------+-------------------------+------------------+-----------------------------------------------------------+--------------+
| Domain | Method    | URI                     | Name             | Action                                                    | Middleware   |
+--------+-----------+-------------------------+------------------+-----------------------------------------------------------+--------------+
|        | GET|HEAD  | api/user                |                  | Closure                                                   | api,auth:api |
|        | GET|HEAD  | partners                | partners.index   | FrutoProibido\Http\Controllers\PartnersController@index   | web          |
|        | POST      | partners                | partners.store   | FrutoProibido\Http\Controllers\PartnersController@store   | web          |
|        | GET|HEAD  | partners/create         | partners.create  | FrutoProibido\Http\Controllers\PartnersController@create  | web          |
|        | GET|HEAD  | partners/{partner}      | partners.show    | FrutoProibido\Http\Controllers\PartnersController@show    | web          |
|        | PUT|PATCH | partners/{partner}      | partners.update  | FrutoProibido\Http\Controllers\PartnersController@update  | web          |
|        | DELETE    | partners/{partner}      | partners.destroy | FrutoProibido\Http\Controllers\PartnersController@destroy | web          |
|        | GET|HEAD  | partners/{partner}/edit | partners.edit    | FrutoProibido\Http\Controllers\PartnersController@edit    | web          |
|        | GET|HEAD  | pictures                | pictures.index   | FrutoProibido\Http\Controllers\PicturesController@index   | web          |
|        | POST      | pictures                | pictures.store   | FrutoProibido\Http\Controllers\PicturesController@store   | web          |
|        | GET|HEAD  | pictures/create         | pictures.create  | FrutoProibido\Http\Controllers\PicturesController@create  | web          |
|        | GET|HEAD  | pictures/{picture}      | pictures.show    | FrutoProibido\Http\Controllers\PicturesController@show    | web          |
|        | PUT|PATCH | pictures/{picture}      | pictures.update  | FrutoProibido\Http\Controllers\PicturesController@update  | web          |
|        | DELETE    | pictures/{picture}      | pictures.destroy | FrutoProibido\Http\Controllers\PicturesController@destroy | web          |
|        | GET|HEAD  | pictures/{picture}/edit | pictures.edit    | FrutoProibido\Http\Controllers\PicturesController@edit    | web          |
+--------+-----------+-------------------------+------------------+-----------------------------------------------------------+--------------+

Я думаю, что это довольно странное поведение, но, может быть, я просто ничего не вижу.

Спасибо!

0

Решение

Проблема здесь, вероятно, так:

1) Вы определили:

Route::resource('pictures', 'PicturesController');

так что вы хотели бы запустить, например,

http://example.com/pictures

получить список картинок

2) Но ты тоже создал pictures каталог в public каталог, поэтому, когда вы запускаете

 http://example.com/pictures

сервер будет пытаться отобразить содержимое pictures каталог в public каталог

Это не сработает. Вам нужно использовать этот URL либо для контроллера или для файлов в public каталог. В противном случае вы получите это странное поведение.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector