cbm*_*eks 3 activerecord metaprogramming ruby-1.9.2
我正在尝试元编程,并希望动态创建一个继承自ActiveRecord的类.
例如,我可以这样做:
Object.const_set("Orders", Class.new { def blah() 42 end })
Run Code Online (Sandbox Code Playgroud)
所以现在我可以:
o = Orders.new
o.blah #<== 42
Run Code Online (Sandbox Code Playgroud)
但是当我尝试:
Object.const_set("Orders", Class.new < ActiveRecord::Base { def blah() 42 end })
Run Code Online (Sandbox Code Playgroud)
给我一个语法错误和
Object.const_set("Orders", Class.new { def blah() 42 end } < ActiveRecord::Base)
Run Code Online (Sandbox Code Playgroud)
在我尝试实例化一个Orders类之前不会抱怨
有小费吗?
谢谢.
尝试这样做:
SomeClass = Class.new(ActiveRecord::Base) do
.... #some behaviour
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1421 次 |
| 最近记录: |