1

RESTful コントローラーと一緒に名前付きルートを定義しようとしています。私のroutes.phpには次のものがあります:

Route::controller('blog', 'BlogController', array('getIndex' => 'home'));
Route::controller('login', 'LoginController');

そして、BlogController のメソッド:

public function getIndex()
{      
    return View::make('blog.home');
}

/homeにアクセスしようとすると、NotFoundHttpExceptionが返されますが、他のすべてのルートは期待どおりに機能します。

これはうまくいかないのですか?この投稿で Route::controller() のこの 3 番目のパラメーターを見つけました。

4

1 に答える 1

2

「ルート名」は内部です。

上記の投稿を引用すると、 「メソッド名の配列とそれに対応するルート名を 3 番目のパラメーターとして渡すことができますRoute::controller」...

したがって、配列getIndexは method をhome route nameにアタッチします。ただし、「ルート名」はアプリの内部的なものであり、外部からアクセスできる URL ではありません。

次のようにして、名前付きルートに URL を添付できます。

Route::get('home', array('as' => 'home'));

この場合、最初の「ホーム」は URL 部分であり、2 番目の「ホーム」はルート名 (「getIndex」メソッドに付加した名前) です。http://laravel.com/docs/routing#named-routesを参照してください

名前付きルートを使用すると、ルートの識別子 (「ダッシュボード」という名前など) を使用できますが、後でいつでも任意の URL からアクセスできるようにすることができます。アプリケーションコード全体。「メイン」または「ホーム」の URL パスを「ダッシュボード」という名前のルートにアタッチできます...つまり、「ルート名は内部です」。

于 2013-06-10T03:40:26.023 に答える