私はLaravel 5.4を学んでおり、これを回避することはできません。この奇妙なエラー「経路が定義されていません」
<a href="{{ route('backend.blog.create') }}" class="btn btn-primary">Write post</a>
はその後、私のルートweb.phpファイルで私は上のボタンを持つインデックス・ページをロードする[email protected]
で
Route::resource('/backend/blog', 'Backend\BlogController');
を持っているように、私は次のように、私の見解刃に二つの経路を追加しましたバックエンドのディレクトリでこの
<?php
namespace App\Http\Controllers\Backend;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Post;
class BlogController extends BackendController
{
protected $limit = 5;
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$posts = Post::with('category', 'author')->latest()->paginate($this->limit);
$postCount = Post::count();
return view("backend.blog.index", compact('posts', 'postCount'));
}
...
}
にHomeControllerは
<?php
namespace App\Http\Controllers\Backend;
use App\Http\Requests;
use Illuminate\Http\Request;
class HomeController extends BackendController
{
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('backend.home');
}
}
を保持しています
backend.home
には上記のエラーが発生する上記のa href
があります。なぜこれが発生するのですか?
フルエラーメッセージ
ErrorException in UrlGenerator.php line 304:
Route [backend.blog.create] not defined. (View: /var/www/blog/resources/views/backend/home.blade.php)
あなたの端末に 'php artisan route:list'を使ってルート名を確認してください。 –
'route(..)'は名前付きルート用です。リソースは名前付きルートを登録しません。 – apokryfos
@apokryfos、実際にはリソースは自動的に名前を生成しています –