如何在运行时基于ActiveRecord动态构建类?

2026-04-16 10:262阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计220个文字,预计阅读时间需要1分钟。

如何在运行时基于ActiveRecord动态构建类?

我正在尝试进行元编程,希望动态创建一个继承自ActiveRecord的类。例如,我可以这样创建一个类:

rubyObject.const_set(Orders, Class.new do def blah 42 endend)

o=Orders.newo.blah

我正在尝试元编程,并希望动态创建一个继承自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类之前不会抱怨

有小费吗?

谢谢.

尝试这样做:

如何在运行时基于ActiveRecord动态构建类?

SomeClass = Class.new(ActiveRecord::Base) do .... #some behaviour end

本文共计220个文字,预计阅读时间需要1分钟。

如何在运行时基于ActiveRecord动态构建类?

我正在尝试进行元编程,希望动态创建一个继承自ActiveRecord的类。例如,我可以这样创建一个类:

rubyObject.const_set(Orders, Class.new do def blah 42 endend)

o=Orders.newo.blah

我正在尝试元编程,并希望动态创建一个继承自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类之前不会抱怨

有小费吗?

谢谢.

尝试这样做:

如何在运行时基于ActiveRecord动态构建类?

SomeClass = Class.new(ActiveRecord::Base) do .... #some behaviour end