Laravel Flash 消息在特定重定向路由的特定方法中不起作用

Laravel flash message not working in specific method on specific redirect route

我有一个很奇怪的问题。我的 Flash 消息在我创建 post 时不起作用,但在我删除或更新它时起作用,当我更改重定向方向时它也起作用。

所以在 store() 方法中,当我将创建的 post 保存到数据库时,我然后重定向到 /posts,如果我将它从 /posts/anyotherroute 有效。

我的 update()store() 相同,它也重定向到 /posts,但在更新时会出现 flash 消息,与 destroy() 相同。

有人知道这是为什么吗?

所以我刚刚注意到在本地主机上出现了闪现消息,但在共享主机上却没有。

商店()

public function store(Request $request){
$this->validate($request, [
  'title' => 'required',
  'body' => 'required',
  'cover_image' => 'image|nullable|max:1999'
]);

// Handle file upload

if($request->hasFile('cover_image')){
  // Get filename with the extension
  $fileNameWithExt = $request->file('cover_image')->getClientOriginalName();
  // Get just filename
  $fileName = pathinfo($fileNameWithExt, PATHINFO_FILENAME);
  // Get just ext
  $extension = $request->file('cover_image')->getClientOriginalExtension();
  // Filename to store 
  $fileNameToStore = $fileName . '_' . time() . '.' . $extension;
  // Upload Image 
  // $path = $request->file('cover_image')->storeAs('public/cover_images', $fileNameToStore);


  $file = $request->file('cover_image');
  Storage::disk('uploads')->put('posts_images/' . $fileNameToStore, File::get($file));
}else{
  $fileNameToStore = 'noimage.jpg';
}

// create post

$post = new Post;
$post->title = $request->input('title');
$post->body = $request->input('body');
$post->user_id = auth()->user()->id;
$post->cover_image = $fileNameToStore;
$post->save();

return redirect('/posts')->with('success', 'Post Created');

更新()

public function update(Request $request, $id){
$this->validate($request, [
  'title' => 'required',
  'body' => 'required',
  'cover_image' => 'image|nullable|max:1999'
]);

// Handle file upload

if($request->hasFile('cover_image')){
  // Get filename with the extension
  $fileNameWithExt = $request->file('cover_image')->getClientOriginalName();
  // Get just filename
  $fileName = pathinfo($fileNameWithExt, PATHINFO_FILENAME);
  // Get just ext
  $extension = $request->file('cover_image')->getClientOriginalExtension();
  // Filename to store 
  $fileNameToStore = $fileName . '_' . time() . '.' . $extension;
  // Upload Image 
  // $path = $request->file('cover_image')->storeAs('public/cover_images', $fileNameToStore);

  $file = $request->file('cover_image');
  Storage::disk('uploads')->put('posts_images/' . $fileNameToStore, File::get($file));
}

// create post
$post = Post::find($id);
$post->title = $request->input('title');
$post->body = $request->input('body');
if($request->hasFile('cover_image')){
  $post->cover_image = $fileNameToStore;
}
$post->save();

return redirect('/posts')->with('success', 'Post Updated');

消息()

    @if(count($errors) > 0)
  @foreach($errors->all() as $error)
    <div class="alert alert-danger">
      {{$error}}
    </div>
  @endforeach
@endif

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

@if(session('error'))
    <div class="alert alert-danger">
      {{session('error')}}
    </div>
@endif`

posts/index()

    @extends('layouts/app')

@section('content')
  <h1>Posts</h1>
  @if(count($posts) > 0)
    @foreach($posts as $post)
      <div class="well">
        <div class="row">
          <div class="col-md-4 col-sm-4">
            {{-- <img src="/storage/cover_images/{{$post->cover_image}}" alt="error" style="width: 100%;"> --}}
            <img src="{{url('/uploads')}}/posts_images/{{$post->cover_image}}" style="width: 100%; max-height: 200px;">
          </div>
          <div class="col-md-8 col-sm-8">
            <h3><a href="{{url('/posts')}}/{{$post->id}}">{{$post->title}}</a></h3>
            <small>Written on {{$post->created_at}} by {{@$post->user->name}}</small>    
          </div>
        </div>
      </div>
    @endforeach
      <div id="pagination">
        {{$posts->links()}}
      </div>
  @else
    <p>No posts found.</p>
  @endif
@endsection()

app_layout()

 <!DOCTYPE html>
<html lang="{{ app()->getLocale() }}">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- CSRF Token -->
    <meta name="csrf-token" content="{{ csrf_token() }}">

    <title>{{ config('app.name', 'Laravel') }}</title>

    <!-- Styles -->
    <link href="{{ asset('css/app.css') }}" rel="stylesheet">
</head>
<body>
    <div id="app">

        @include('inc/navbar')
        <div class="container">
          @include('inc/messages')
          @yield('content')
        </div>
    </div>

    <!-- Scripts -->
    <script src="{{ asset('js/app.js') }}"></script>
    <script type="text/javascript" src="{{URL::asset('js/custom.js') }}"></script>
    <script src="/vendor/unisharp/laravel-ckeditor/ckeditor.js"></script>
    <script>
      CKEDITOR.replace('article-ckeditor');
    </script>
</body>
</html>

因此,由于某种原因,当我登录我的 google 帐户时,它没有出现在 Chrome 中。我去了我的笔记本电脑,在那里也使用了 Chrome,在笔记本电脑上它工作正常,然后我在我的电脑上更改了 google 帐户,它也工作正常。仅当我使用我的 google 帐户时它才不工作,即使我清除了历史记录、缓存和 cookie,但我想我不介意它是否对其他人有用。 不管怎样,这真是个愚蠢的问题,很抱歉无缘无故地打扰你:(