【问题标题】:Can I create a database of ruby classes?我可以创建一个 ruby​​ 类的数据库吗?
【发布时间】:2015-09-11 10:30:44
【问题描述】:

我必须创建大量具有相似结构的 ruby​​ 类,它们看起来都像这样:

class SomeName < SomeOtherName
  def initialize
    @title = "blablabla"
    @link = "blablabla"
    @nature = "blablabla"
  end
end

是否可以将类存储在数据库形式(SQL 或 Mongo 等)中。像这样的:

{:class => "SomeName", :parent => "SomeOtherName", :initialize => {"title
 = "blablabla", ... } }

当然,还可以从数据库中实例化类。实际上应该有数百个类,将它们存储在 ruby​​ 文件中太麻烦了,无法轻松更新。我在考虑一些替代方案,比如创建一个类,您可以将数据从数据库发送到该类,因此它可以根据您发送到其中的内容实例化为不同的对象,但是继承是一个大问题,也可能有其他方法比在某些类中初始化...

【问题讨论】:

    标签: sql ruby mongodb


    【解决方案1】:

    是的,你可以。
    这是通过 Class.new 实现的 Ruby 元编程 101

    示例:
    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

    您基本上会检查您的数据库并创建类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-17
      • 2016-12-15
      • 1970-01-01
      • 2016-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多