Laravel отладка 404 маршрутов
Хорошо, полный файл routes.php
, который я использую... Я только что вставил его сюда: http://pastebin.com/kaCP3NwK
Routes.php
//The route group for all other requests needs to validate admin, model, and add assets
Route::group(array('before' => 'validate_admin|validate_model'), function()
{
//Model Index
Route::get('admin/(:any)', array(
'as' => 'admin_index',
'uses' => 'admin@index'
));
Конфигурация администратора:
...
'models' => array(
'news' => array(
'title' => 'News',
'single' => 'news',
'model' => 'AdminModels\\News',
),
...
Генератор ссылок:
@foreach (Config::get('administrator.models') as $key => $model)
@if (Admin\Libraries\ModelHelper::checkPermission($key))
<?php $key = is_numeric($key) ? $model : $key; ?>
<li>
{{ HTML::link(URL::to_route('admin_index', array($key)), $model['title']) }}
</li>
@endif
@endforeach
Controllers/admin.php
public function action_index($modelName)
{
//first we get the data model
$model = ModelHelper::getModelInstance($modelName);
$view = View::make("admin.index",
array(
"modelName" => $modelName,
)
);
//set the layout content and title
$this->layout->modelName = $modelName;
$this->layout->content = $view;
}
Таким образом, при доступе к http://example.com/admin/news
news
отправляется в action_index
... но по какой-то причине он туда не попадает и возвращается 404
2 answers
Обратите внимание, что я определил следующее 'model' => 'AdminModels\\News',
Когда на самом деле мой namespace
регистр был Admin\Models
, поэтому установите его в 'model' => 'Admin\Models\\News',
для моей проблемы для 404
Маршруты оцениваются в том порядке, в котором они зарегистрированы, поэтому (:любой) маршрут должен быть последним. Вас отправляют (я думаю) в admin@index - если эта функция еще не определена, вот почему вы получаете 404.