我正在学习Laravel 5.4,我无法解决这个问题。我在我的视图刀片中添加了两条路线,如下所示
<a href="{{ route('backend.blog.create') }}" class="btn btn-primary">Write post</a>
然后在我的路线web.php文件中我有
Route::resource('/backend/blog', 'Backend\BlogController');
在HomeController@index
我加载上面有按钮的索引页面,就像这样
<?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'));
}
...
}
Backend目录中的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)
答案 0 :(得分:1)
Route::resource('/backend/blog', 'Backend\BlogController', [
'names' => [
'create' => 'backend.blog.create'
]
]);
route()helper make named route
路由
Route::POST("/backend/blog/create", "Backend\BlogController@create")->name("backend.blog.create");
在视图中
{{ route('backend.blog.create') }}