从href调用Controller不返回任何内容(Laravel 5)

时间:2015-07-07 21:53:42

标签: php laravel

我必须从我的网站注销用户。 我在视图中有这个:

<a href="{{ URL::route('up_sessions.destroy') }}">Logout</a>
在routes.php中

我发现了这个:

Route::resource('up_sessions','SessionsController');

SessionsController的destroy方法类似于

session()->put('key', null);

并在最后返回Redirect::to('Home');

当我点击&#39;退出&#39;它发送给我localhost:8000 / up_sessions /%7Bup_sessions%7D 没有任何反应。 我期待着回到家里&#39;这就是我需要的,点击注销,转到控制器,调用destroy方法,取消设置会话键并返回主页。 我不明白为什么这个链接有最后一个部分%7Bup_sessions%7D ...我没有这条路线,我也不知道如何摆脱它。 无论如何,我只需要点击注销并注销即可。

我做错了什么?

3 个答案:

答案 0 :(得分:1)

要将您的路线指向您想要的控制器方法,请使用此

<a href="{{ action('SessionsController@destroy') }}">Logout</a>

答案 1 :(得分:0)

您可以使用link_to_action helper ti来完成您想要的任务。例如:

{!! link_to_action('SessionsController@destroy','Log out',[pramameters,...,...]) !!}
 //pass parameter if you have it

然后在你的SessionController中,你可以处理它的工作原理

public function destroy($parameter...){
   //destroy session...
   return redirect('home');
}

答案 2 :(得分:0)

<a href="{{URL::to('/up_sessions/destroy')}}">Logout</a>