2017-08-22 8 views
0

通常、ポリシーでは、パラメータuserと対応するモデルのみがあります。しかし、カスタムパラメータを添付しても機能しないようです。ポリシーのカスタム許可パラメータ

は私が望むもの:ブレイドで

// MyModelPolicy.php 
class MyModelPolicy 
{ 
    public function foo(User $user, MyModel $model, $someString) { /* ... */ } 
} 

そして:

// some.blade.php 
@can('foo', $myModelInstance, 'tralala') 

をしかし、私はfooは正確に3つのパラメータを期待し、2つだけを取得しているというエラーが表示されます。 Laravel Gateは2つしか配信せず、'tralala'を無視します。

私が望むものを達成する最も簡単な方法は何ですか?

答えて

0

まあ、これはドキュメントはこの上の短い例を与えることができない...の思いよりも簡単であることが判明していますが、明確な方法で@canを使用するだけです:

// some.blade.php 
@can('foo', [$myModelInstance, 'tralala']) 

APIリファレンスを参照すると、canが配列を必要とし、残りが続くことがわかります。

関連する問題