【问题标题】:spoofing different methods within same form based on current route name in laravel根据laravel中的当前路由名称在同一表单中欺骗不同的方法
【发布时间】:2020-12-18 21:25:41
【问题描述】:

所以我想在表单上更改 PUT 和 POST 之间的表单欺骗方法取决于当前路由名称

换句话说:

  • 当路由名称等于'users.create'时,再把@method('POST')放在表单上方,
  • 并且当路由名称等于 'users.update' 时,将 @method('PUT') 放在表单上方。

这是我的刀片文件:

<form action="{{ Route::currentRouteName() == 'users.create' ? route('users.store') : route('users.update', $user) }}" method="POST">

    @csrf

    @php
    if (Route::currentRouteName() == 'users.create')
        @method('POST')
    else
        @method('PUT')
    @endphp

    email:
    <input type="email" name="email">

    <button type="submit">Submit</button>

</form>

表单操作部分工作正常,但表单欺骗部分不行,我不知道如何在刀片文件上实现它!

任何人都可以帮助我吗?

【问题讨论】:

    标签: laravel forms laravel-blade


    【解决方案1】:

    我相信您正在使用资源路线。因此,对于创建,您无需欺骗,因为帖子用于存储。检查是否只是编辑路线和欺骗方法。

    <form action="{{ Route::currentRouteName() == 'users.create' ? route('users.store') : route('users.update', $user) }}" method="POST">
        @csrf
        @if (Route::currentRouteName() == 'users.edit')
            @method('PUT')  
        @endif
        email:
        <input type="email" name="email">
        <button type="submit">Submit</button>
    </form>
    

    【讨论】:

      猜你喜欢
      • 2018-12-16
      • 2019-09-10
      • 2021-05-29
      • 2018-07-05
      • 1970-01-01
      • 1970-01-01
      • 2017-10-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多