我必须创建一个具有相似结构的大量ruby类,所有这些类看起来,就像这样:
class SomeName < SomeOtherName
def initialize
@title = "blablabla"
@link = "blablabla"
@nature = "blablabla"
end
end
是否可以以数据库(SQL或Mongo等)的形式存储类。像这样:
{:class => "SomeName", :parent => "SomeOtherName", :initialize => {"title
= "blablabla", ... } }
当然,能够从数据库中实例化类。应该有几百个类,将它们存储在ruby文件中会太麻烦,容易更新是不可能的。我正在考虑一些替代方案,比如创建一个可以从数据库发送数据的类,这样它就可以根据你发送到它的内容实例化到不同的对象中,但继承是一个大问题,也可能有其他方法而不是在某些类中初始化...
答案 0 :(得分:2)
示例:
http://blog.rubybestpractices.com/posts/gregory/anonymous_class_hacks.html
http://blog.jayfields.com/2008/02/ruby-creating-anonymous-classes.html
对于在检索它们时对名称进行黑客攻击,请查看此答案中的const_set: Dynamically define named classes in Ruby
你基本上会检查你的数据库并只创建类。