【问题标题】:Laravel rendering view with proper URLLaravel 使用正确的 URL 渲染视图
【发布时间】:2017-12-05 12:01:51
【问题描述】:

所以我的视图users 包含所有注册用户的列表。它还有一个删除特定用户的按钮,所以我创建了一个控制器和一个路由

users/delete/this@somemailaddress.com

在我的控制器UsersController 中,我处理删除操作。用户被删除,我返回users 并返回success alert,表明该用户已被删除。

$message = "User ".$user. " successfully deleted";
return View::make('users')->with(compact('message')); 

哪个有效,会显示警报。但是,Chrome 显示 localhost:8000/users/delete/this@somemailaddress.com,我可以理解,因为我只是在 users/delete/{email} 路由中“制作”(渲染)users 视图。现在我对 Laravel 真的很陌生(所以,所以请理解)我想知道如何让 Chrome 显示 localhost:8000/users 并仍然显示消息。我只是感到困惑。

【问题讨论】:

  • 显然您需要在删除用户后重定向到正确的 url。
  • 嗯,是的,但我仍然想显示success alert,它的消息通过$message 传递给视图。因此,我不知道该怎么做。

标签: php laravel routes


【解决方案1】:

您要查找的内容称为“闪信”。这是一个例子:

在您的控制器上,您使用消息重定向。

return redirect('users')->with('status', 'User deleted!');

您只需像这样在视图上显示消息。

@if (session('status'))
    <div class="alert alert-success">
        {{ session('status') }}
    </div>
@endif

这里有更多文档: https://laravel.com/docs/5.4/redirects#redirecting-with-flashed-session-data

【讨论】:

  • 好吧,这看起来很有趣。如果我想传递一个数组怎么办?不费吹灰之力就行了吗?
  • 是的,您也可以使用数组,应该可以正常工作。
猜你喜欢
  • 2021-02-10
  • 2014-07-23
  • 2021-08-08
  • 2013-06-30
  • 2012-06-30
  • 2015-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多