Laravel嵌套路线问题

时间:2013-09-29 09:21:57

标签: php laravel laravel-4 nested-routes

我遇到了Laravel 4嵌套路由的问题。我可以显示创建方法表单但无法存储。这是代码,我只是说到了这一点。 我有一个基本资源控制器和另一个嵌套控制器

This is in my Routes.php

Route::resource('profile','ProfileController');
Route::resource('profile.bands','BandsController');

我认为我不必在这里显示个人资料的代码,我会告诉你BandsController

public function create($profileId)
{
    return View::make('bands.create',['title' => 'Create Band Profile' , 'profileId' => $profileId]);
}

如您所知,这只会显示表单。 表格是:

{{Form::open( [ 'route' => ['profile.bands.create',$profileId]])}}
<input class="input" type="text" name="name" value="" />
<input class="input" type="text" name="city" value="" />
 <input type="submit" value="submit" />
    {{Form::close()}}

现在,我不明白,当我在浏览器中查看时,表单操作url看起来不错,但是当我提交它时,我得到了这个错误。

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException

open: E:\server\www\gigmor.com\gigmor\vendor\laravel\framework\src\Illuminate\Routing\Router.php
    // The method not allowed exception is essentially a HTTP 405 error, so we
    // will grab the allowed methods when converting into the HTTP Kernel's
    // version of the exact error. This gives us a good RESTful API site.
    elseif ($e instanceof MethodNotAllowedException)
    {
        $allowed = $e->getAllowedMethods();

        throw new MethodNotAllowedHttpException($allowed, $e->getMessage());
    }
}

我可能做错了什么?

1 个答案:

答案 0 :(得分:6)

MethodNotAllowedHttpException表示您使用的HTTP方法不正确。你在只接受GET的路线上使用POST。

在表单上,​​您必须使用路径

profile.bands.store

您的.create路线只是为了显示创建记录表单,发布它必须使用商店。

使用

查看您的路线名称和方法
php artisan routes