Authorization Policy without model

When you register a policy it is the classname that is used to route checks to the class, so in order to get routed to the policy you can just pass the class name of the type you registered it with.

Try using @can('delete', Post::class) and see if that gets you there

refer to Illuminate\Auth\Access\Gate::firstArgumentCorrespondsToPolicy

EDIT After a little more diggin I found this https://github.com/laravel/framework/commit/70f75255808ffc96275e6f2f356616dd2e163434#diff-961368895033e553787b301c3be0e17a

so it looks like if you on version 5.1.23 then you will be able to pass a string otherwise your will need to just pass new Post