STI 和 PUNDIT - 无法找到政策

STI and PUNDIT - unable to find policy

我有三个models:

class Post < ApplicationRecord
class Diary < Post
class FuturePlans < Post

我也在 posts_controller.rb 中加入了专家:

class BlogsController < ApplicationController
 include Pundit

我有一个 post_policy.rb:

class BlogPolicy < ApplicationPolicy

class Scope < Scope
 def resolve
  return scope.all
 end
end

我用 bankseed 播种了一些日记和未来计划,在控制器内的所有操作中包含了 pundit,我得到了以下错误:

unable to find policy "DiaryPolicy" for "#<Diary id:...

我应该为 Diary 和 FuturePlans 制定单独的政策吗?我如何让他们也继承专家?当我禁用 pundit 时,一切正常。

谢谢!

我创建了 DiaryPolicy 和 FuturePlansPolicy,它再次起作用。