专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Ruby/Rails

在Rails 3.0中,怎么得到项目中所有的控制器名称,还有控制器里的方法名

发布时间:2011-06-29 18:43:27 文章来源:www.iduyao.cn 采编人员:星星草
在Rails 3.0中,如何得到项目中所有的控制器名称,还有控制器里的方法名
在Rails 3.0中,如何得到项目中所有的控制器名称,还有控制器里的方法名
2.X是可以的。3.0以后,方法变了,还没有找到。

------解决方案--------------------
在google上查了一下午,也没查到相应的资料
但是每一个rails 3 程序,都有一个相应的 Rails::Application进行包裹(文件在config/application.rb
),所以应该在Rails::Application中有,但是用irb查了一下午也没有收获

倒是有一个比较土的方法, 代码如下:
controllers = {}
con_classes = ObjectSpace.each_object(Class).select {|cls| cls.ancestors[1..-1].include?(ApplicationController) }
con_classes.each do |cls|
controllers[cls.name.to_sym] = cls.public_instance_methods(false)
end

但是有点问题:
这段代码在开发模式下,只能获得当前控制器,而在产品模式下是正常的
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: