1

我试图弄清楚如何在我的 Rails 4 应用程序中使用 Pundit。

我有一个项目模型,其中有一个项目控制器,其中包含一个新操作:

def new
# a bunch of stuff in the new action that I don't think is very relevant here

end

然后,我的策略文件夹中有一个项目策略,其中包含:

def new?
        false
        # create?
    end

    def create?
        false

    end

我希望我不能在我的网站中输入 url/projects/new,因为政策不允许这样做。但是,我可以,并且表单呈现并且我可以保存它。

有谁看到我在设置时做错了什么?

4

1 回答 1

2

因为您没有在问题中提及它们,所以需要检查的几件事:

  1. 添加include Pundit到控制器

  2. 添加动作authorize [model_instance]和动作newcreate

官方https://github.com/elabs/pundit应该会给你很多指导。

于 2016-07-02T03:09:11.777 回答