class ModelES
def initialize(model_name)
@elastic_search_uri = $search_server + '/' + model_name.to_s + '/'
end
def create(model)
RestClient.put @elastic_search_uri + model.id.to_s, model.to_json
end
def update(model)
RestClient.delete @elastic_search_uri + model.id.to_s
RestClient.put @elastic_search_uri + model.id.to_s, model.to_json
end
def destroy(model)
RestClient.delete @elastic_search_uri + model.id.to_s
end
end
class ES < ModelES
def initialize
@elastic_server_uri = $search_server + 'doctors/doctor/'
end
def create(es)
#overriden code
end
def update(es)
#overriden code
end
end
我试图调用超类ModelES
的方法destroy
在子类中ES
的对象,但在呼叫变量@elastic_search_uri
是在超类中定义的一个。需要进行哪些必要的更改才能使方法调用访问子类的变量?方法覆盖和变量
哪一种方法子类的你想用'destroy'超类的吗? 'initialize','destroy'还是其他地方?你能否让问题更清楚? –