我正在构建一个 API 包装器,它将从第三方 API 查询对象并将它们构建到要在我的 Rails 环境中使用的对象中。为此,我正在构建一组使用 ActiveRecord(用于其某些功能)但不支持数据库的模型。我希望能够像这样拨打电话:
obj = MyModel.find(1)
并让代码是这样的:
def MyModel.find id
# check for object in cache
# check for object in db
# grab object from API
# return object
end
如果我覆盖默认的 find 方法,我会做一些可怕的错误吗?我是以完全错误的方式处理这个问题吗?