我在我的Rails应用程序中安装了宝石Pundit,并仔细按照自述文件中的说明进行操作。
但是,当我在任何控制器中使用授权时,我收到错误消息“未定义方法'授权'。
此外,当我尝试在视图中使用“policy”时,我收到错误“undefined method'policy'”。
好像没有安装Pundit!
我已将Pundit包含在我的应用程序控制器中。
我有一个包含所有策略的ApplicationPolicy文件,然后是从应用程序策略继承的每种记录类型的策略文件。
出于某种原因,我不能将任何代码粘贴到这个问题中,所以我希望我已经包含了足够的信息!
我很感激任何想法。
答案 0 :(得分:3)
我最近使用过专家,它就像一个魅力。 您的错误消息让我推断您没有运行安装 rails g pundit:install 或您的策略文件不在正确的目录中。
或者如果是,那么只需重新启动服务器即可解决此问题。希望。
答案 1 :(得分:0)
您需要使用 pundit:install generator 为您的应用生成默认策略文件。
rails g pundit:install
create app/policies/application_policy.rb