5

我已经在我的 Rails 应用程序中安装了 gem Pundit,并仔细按照自述文件中的说明进行操作。

但是,当我在我的任何控制器中使用授权时,我会收到错误消息“未定义的方法 'authorize' for .

此外,当我尝试在视图中使用“策略”时,我收到错误“未定义的方法'策略'”。

就好像根本没有安装 Pundit!

我已将 Pundit 包含在我的应用程序控制器中。

我有一个包含所有策略的 ApplicationPolicy 文件,然后是从应用程序策略继承的每种记录类型的策略文件。

出于某种原因,我无法将任何代码粘贴到这个问题中,所以我希望我已经包含了足够的信息!

我会很感激任何想法。

4

2 回答 2

3

我最近使用了 pundit,它就像一个魅力。您的错误消息使我推断您没有运行 install rails g pundit:install或者您的策略文件不在正确的目录中。

或者如果他们只是重新启动服务器应该解决这个问题。希望。

于 2015-01-05T19:37:31.957 回答
0

您需要使用pundit:install generator为您的应用程序生成一个默认策略文件。

rails g pundit:install
  create  app/policies/application_policy.rb
于 2015-03-13T06:21:55.290 回答