2017-09-21 16 views
3

私はLaravelで数時間以来ナットを行っています。Laravelリソースが間違ったメソッドを呼び出す

これは私のweb.phpファイルです:

// Admin 
Route::group(['prefix' => 'admin', 'middleware' => ['auth', 'admin'], 'namespace' => 'Admin'], function() { 

    Route::resource('cities', 'CitiesController'); 
    Route::resource('stores', 'StoresController'); 

}); 

私はhttp://localhost:3000/admin/cities/createにアクセスしていると私はshowメソッドからエラーが出ます! URLがcreateの代わりにshowメソッドを呼び出しているのはなぜですか?そして、もし私がRoute::resourceを取り除いて、冗長なルートに置き換えたら、それは機能しますか?それはクレイジーです。

enter image description here

UPDATE

マイroute:list

|  | GET|HEAD | admin      | admin   | App\Http\Controllers\Admin\[email protected]     | web,auth,admin | 
|  | GET|HEAD | admin/cities    | cities.index  | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | POST  | admin/cities    | cities.store  | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | GET|HEAD | admin/cities/create  | cities.create | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | GET|HEAD | admin/cities/{city}  | cities.show  | App\Http\Controllers\Admin\[email protected]       | web,auth,admin | 
|  | PUT|PATCH | admin/cities/{city}  | cities.update | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | DELETE | admin/cities/{city}  | cities.destroy | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | GET|HEAD | admin/cities/{city}/edit | cities.edit  | App\Http\Controllers\Admin\[email protected]       | web,auth,admin | 
|  | GET|HEAD | admin/stores    | stores.index  | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | POST  | admin/stores    | stores.store  | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | GET|HEAD | admin/stores/create  | stores.create | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | GET|HEAD | admin/stores/{store}  | stores.show  | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | DELETE | admin/stores/{store}  | stores.destroy | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | PUT|PATCH | admin/stores/{store}  | stores.update | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
|  | GET|HEAD | admin/stores/{store}/edit | stores.edit  | App\Http\Controllers\Admin\[email protected]      | web,auth,admin | 
+1

あなたは(の関連部分)を共有することができます'php artisan route:lの出力ist'とルートハンドラを作成しますか? – apokryfos

+0

あなたはこのURL http:// localhost:3000/admin/cities/create –

+0

にリクエストを作成していますか?Route Controllerのあいまいさを引き起こす 'admin/cities/create'と' admin/cities/{city} 'create'は' {city} 'の引数です。それで、なぜ 'show'メソッドを呼び出すのでしょうか。 –

答えて

-1

このようなあなたのショーストアのルートを作成します。

Route::get('/store/{store}', '[email protected]')->name('stores.show'); 
+0

私は '/ stores /'を残したいと思います。 –

関連する問題