0

我在这里阅读了一篇文章,并使用那里找到的原则为我的控制器编写了管理检查。基本上,它会检查您所在的控制器,然后我创建一个数组,说明此人是否有权查看该控制器,而不是查找,传递它。

文章的作者说读者不应该使用示例代码,因为它有缺陷,他们应该使用他的插件(当然现在已经过时了)。他说

“由于使用类变量和类缓存,上述代码在生产模式下运行时存在一些问题。”

我有一个测试失败,我认为这可能是由于这个原因,但我不太确定我不应该使用代码的哪一部分。我有以下(在application.rb中):

 controller = params[:controller]
 action = params[:action]

但我将其更改为:

controller = self.class.name
action = params[:action]

如何正确访问操作名称?总的来说,你可以在开发模式下做哪些在生产环境中不能做的事情?

4

1 回答 1

0

您是否考虑过基于角色的权限插件?请参阅以下 stackoverflow 问题:

哪个 Rails 插件最适合基于角色的权限?(请为每个答案提供一项提名)

我不知道您粘贴的代码的生产使用有任何问题。由于可能滥用@@,有问题的插件可能存在一些问题,但是我没有彻底检查它。

于 2009-07-24T19:19:31.033 回答