2009-07-24 136 views
0

我读了一篇文章here,我用那里的原理为我的控制器编写管理检查。基本上它会检查你所在的控制器,然后创建一个数组,说明该人是否有权查看该控制器,而不是查找,将其传递。Ruby on Rails - 类缓存?

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

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

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

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

但我改变了到:

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

如何正确地存取动作的名称?一般来说,在开发模式下你可以做什么样的事情,你在生产中无法做到?

回答

0

您是否考虑过基于角色的权限插件? 参见下面的计算器问题:

Which Rails plug in is best for role based permissions? (Please provide one nomination per answer)

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

+0

是的,我刚刚被告知有关http://github.com/be9/acl9/tree/master,我可能会尝试稍后实施。谢谢。 – RyanJM 2009-07-24 19:27:55