Laravel 4正确命名了路线路线,但未显示视图中的内容

时间:2014-03-19 10:53:57

标签: php laravel laravel-4

过去两天我一直在努力解决这个问题。最后决定发布我的问题:

routes.php文件

Route::get('authors/newAuthors', array('as'=>'new', 'uses'=> 'authors@newAuthors'));

Controller(authors.php)

public function newAuthors(){
    $value = View::make('authors.newAuthors')
            ->with('title', 'authors Adding Page');
    return $value;
}

index.blade.php(在这个视图中,我有一个指向该命名路线的链接“新作者”)

@extends('layouts.master')

@section('content')
<h2>Authors page from index blade php</h2>
    <ul>

    @foreach($authors as $author)
        <li>{{ HTML::linkRoute('author', $author->name, `array($author['id'])) }}</li>`
    @endforeach

    </ul>
    {{ HTML::linkRoute('new', 'New Authors') }}
@stop

查看应在单击(newAuthors.blade.php)

后显示
@extends('layouts.master')

@section('content')

<h2>Add New Authors</h2>

@stop

当我点击链接(“新作者”)时,在URL上显示它正在路由到正确的路径:

http://localhost:8000/authors/newAuthors

但它没有显示该视图文件中的任何竞赛(newAuthors.blade.php)

2 个答案:

答案 0 :(得分:0)

最终,我解决了这个问题。我发现了类似的问题但不完全在这里

Routed Problem

我所做的只是转移了我在这个特定的路线上,我遇到了问题,而不是开始向我显示正确的视图。虽然没有破坏。我不确定它是如何发生的但我现在有以下路线:

Route::get('authors/newAuthors', array('as'=>'new', 'uses'=> 'authors@newAuthors'));

Route::get('authors', array('as' => 'authors', 'uses' => 'authors@index'));
Route::get('authors/{id}', array('as'=>'author', 'uses'=> 'authors@viewAuthors'));

即使我没有完全匹配的URI。无论如何,我写道,以为任何未来的访客都会觉得它有用,而且不必像我一样挣扎两天:(

答案 1 :(得分:0)

您的文件刀片是:&#39; index.blade.php&#39;

所以你需要将你的布局指向这个文件:(如果索引在子文件夹中使用子文件夹/索引)

$value = View::make('index')
        ->with('title', 'authors Adding Page');

然后在你的route.php中添加一条路线:

Route::get('authors/newauthors/', array('as' => 'newAuthors', 'uses' => 'AuthorsController@newAuthors'));

在您的视图中使用它

{{link_to_route('newAuthors', 'New Authors', $parameters = array(), $attributes = array())}}