我正在努力准确地描述这个术语,所以我感谢你的耐心。
此设置的动机是因为我从多个来源导入数据。我有一个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可以正确调用它?
希望这是有道理的,我可以编辑问题以使用正确的术语,以便其他人可以找到它。