3
我正在尝试元编程,并且想要动态地创建一个从ActiveRecord继承的类。如何在运行时动态创建基于ActiveRecord的类? (Ruby)
例如,我可以这样做:
Object.const_set("Orders", Class.new { def blah() 42 end })
所以,现在我可以:
o = Orders.new
o.blah #<== 42
但是当我尝试:
Object.const_set("Orders", Class.new < ActiveRecord::Base { def blah() 42 end })
给了我一个语法错误
Object.const_set("Orders", Class.new { def blah() 42 end } < ActiveRecord::Base)
直到我尝试实例化一个Orders
类
没有抱怨任何提示?
谢谢。
HA!实际上,我确实发现了如何做到这一点,我来到这里回答我自己的问题。大声笑但是,既然你击败了我,我给了你+1,并回答信贷。下面是我做的:'Object.const_set(“Computers”,Class.new(ActiveRecord :: Base){})'现在,'Computers.all'就像一个冠军。谢谢! – cbmeeks 2011-05-27 00:19:42
很高兴帮助你,元编程规则! :) – bor1s 2011-05-27 07:12:53