Возможно, я не понимаю, как работает Laravel, или, может быть, я пропустил что-то в своих документах, которые я вылил, и для этого заранее извиняюсь.Пользовательские методы в контроллерах laravel 4
Допустим, я создаю новый контроллер с помощью 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\[email protected]');
Route::resource('foo', 'App\Controllers\Admin\FooController');
}
Тогда в моем контроллере я буду иметь методы для индекса(), создания() , update() и т. д. правильно?
Что делать, если мне нужен метод под названием activate() в моем FooController? Это может выглядеть следующим образом:
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.
Может быть, я не достаточно хорошо с маршрутами, но это действительно сложно.
благодарим вас заранее!
Ни работал. Первая опция вернула неизвестное действие. второй бросил класс, не существует исключение. Я знаю, что контроллер работает правильно, потому что, если я удалю @action из него, он будет загружать индекс. –