【发布时间】:2013-06-02 11:05:54
【问题描述】:
我可能误解了 Laravel 的工作原理,或者我在倾倒的大量文件中遗漏了一些东西,为此我提前道歉。
假设我使用 artisan 创建了一个新控制器
php artisan controller:make FooController --path /var/www/app/controllers/admin
然后我设置路线:
Route::group(array('prefix' => 'admin', 'before' => 'auth.admin'), function()
{
Route::any('/', 'App\Controllers\Admin\IndexController@index');
Route::resource('foo', 'App\Controllers\Admin\FooController');
}
然后在我的控制器中,我将拥有 index()、create()、update() 等方法,对吧?
如果我想在我的 FooController 中使用一个名为 activate() 的方法怎么办?它可能看起来像这样:
public function activate($id){
return "activated";
}
现在我在 index.blade.php 文件中添加了一个链接
<a href="{{ URL::route('admin.foo.activate', $foo->id) }}">Activate</a>
为什么这不起作用?我明白了:
Unable to generate a URL for the named route "admin.foo.activate" as such route does not exist.
也许我对路线不够好,但这真的很令人沮丧。
提前谢谢你!
【问题讨论】:
标签: php methods routes laravel-4 controllers