如何在运行时动态创建基于 ActiveRecord 的类? (红宝石)
我正在尝试元编程,并希望动态创建一个继承自 ActiveRecord 的类。
例如,我可以这样做:
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
类之前不会抱怨
有任何提示吗?
谢谢。
I'm experimenting with meta programming and want to dynamically create a class that inherits from ActiveRecord.
For example, I can do this:
Object.const_set("Orders", Class.new { def blah() 42 end })
So now I can:
o = Orders.new
o.blah #<== 42
But when I try to:
Object.const_set("Orders", Class.new < ActiveRecord::Base { def blah() 42 end })
Gives me a syntax error and
Object.const_set("Orders", Class.new { def blah() 42 end } < ActiveRecord::Base)
Doesn't complain until I try to instantiate an Orders
class
Any tips?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试这样做:
Try to do this: