Laravel重定向BadMethodCallException

时间:2014-06-13 17:41:08

标签: php redirect laravel laravel-4

真的不确定这里有什么:

http://laravel.io/bin/E8yMx#2

正如它所解释的那样,在UserController中,当我向Redirect::action调用SessionController时,我会抛出异常。

我尝试过重新编译,但它仍无法正常工作。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

很好,你得到这种类型的错误,因为Laravel resourcefull route“store”希望你从POST接收数据。我认为重定向是通过headers()或类似的方式实现的,因此它会发送GET请求,您会收到错误消息。在这种情况下你应该使用curl,或者你应该将你的公共逻辑移到控制器以外的地方,例如:存储库。

答案 1 :(得分:0)

正如@Vit解释的那样,store期待POST动词。您可以使用IoC来解决您的问题:

return App::make('SessionController')->store();

我真的不推荐它:你要做的事情被称为HMVC,正如Taylor Otwell所说

  

这种模式通常表明应用程序设计不佳,控制器太复杂了

你应该做的是:

  

将逻辑提取到可以注入任何控制器的第三个类