ホームページ  >  に質問  >  本文

戦略を使用してブレード テンプレートで @can を正しく使用する方法

ドキュメントが示唆しているように、ブレード テンプレートで @can()

を作成できません

これが私のポリシーです:

リーリー

Spatie 権限を使用しています。とにかく、この戦略は、コントローラー内のルートを次のように保護する場合に機能します。 リーリー

さて、問題はブレードです。

$canalを編集するためのボタンを条件付きでレンダリングしたいので、これを実行しようとしています: リーリー

これはまさにドキュメントに記載されている内容です。しかし、呼び出しには別のパラメータが必要であるというエラーが表示されます:

リーリー

したがって、

@can() でユーザーにも送信する必要があると思います。これを次のように変更しました。 リーリー これも機能しません。これでは戦略がまったく「発動」されません。どうやって知ることができたのでしょうか?そこに

Log::info()

をいくつか入れました。 ###何か案は?

P粉821231319P粉821231319171日前327

全員に返信(1)返信します

  • P粉451614834

    P粉4516148342024-04-05 10:10:24

    この問題を解決するには、2 番目の引数の App\Models\Canal::class の代わりに $code@can に送信します。次に例を示します。

    リーリー

    返事
    0
  • キャンセル返事