我要做的很简单:根据控制器操作定义的角色生成一个权限列表。
这个方法运行得很好,唯一的问题是,当我尝试第二次生成rails控制器列表时(注意:第一次可以完美地运行):
ActionController::Routing.possible_controllers我得到了一个当前控制器类的数组,而不是字符串,就像我第一次得到的那样,不用说,这会通过生成异常来破坏我的代码。
为什么此方法在多个调用上的行为不同?是我遗漏了什么,还是ruby/rails的bug?(我在windows上运行)
临时解决方法:我将结果字符串数组存储在会话中,以便下次从那里检索列表时,无需再次调用possible_controllers方法。
但是当一个用户注销,一个新的用户登录时,问题又出现了,这对生产环境不起作用,这意味着我需要把它去掉。
发布于 2010-06-18 23:34:10
文档说它应该返回一个数组。所以我建议你写你的代码与数组版本一起工作,然后插入一个虚拟调用来摆脱字符串版本,如果你已经发现了一个bug,请报告它。
https://stackoverflow.com/questions/3070847
复制相似问题