代码世界:Ruby/Rails反射技术实例
由Gudao Luo在2009-07-11 at 06:51发表的
![]() |
| From Slide Album: Random Photos |
- 使用正常类方法代码
@blogs = Blog.find(:all)- 使用反射技术代码(Ruby语言)
@blogs = Kernel.const_get("Blog").send(:find, :all)
@blogs = Object.const_get("Blog").send(:find, :all)
@blogs = Kernel.eval("Blog").send(:find, :all)- 使用反射技术代码(类名称包含"::")(Ruby语言)
Model = "ActiveRecord::Base".split('::').inject(Object) do |base,item|
base.const_get(item)
end
class Blog < Model; end- 使用反射技术代码(Rails框架)
@blogs = "Blog".classify.constantize.send(:find, :all)
