调用子类范围内父类定义的方法

时间:2012-07-16 00:55:21

标签: ruby-on-rails methods inherited

我正在努力准确地描述这个术语,所以我感谢你的耐心。

此设置的动机是因为我从多个来源导入数据。我有一个Parent类定义了几个方法,这些方法在连接到各种数据源的所有Child类中都很有用。

父:

class Parent < ActiveRecord::Base
  self.table_name "definitions"

  def self.lookup(id)
    # initializes the @lookup_table in children classes
    if (@lookup_table.nil?)
      @lookup_table = []
    end

    # Problematic statement:
    @lookup_table ||= find(id).definition
  end
end

子:

class Child < Parent
  establish_connection "some_other_connection"
end

Parent.lookup方法仅用于在Child类的上下文中调用,例如Child.lookup(1)。但是,当我调用它时,我会在父节点中引用预期的数据库连接时出错,这种连接不存在。

如何修改Parent中的方法定义,以便Child可以正确调用它?

希望这是有道理的,我可以编辑问题以使用正确的术语,以便其他人可以找到它。

0 个答案:

没有答案