课程代理知道远程系统上课程的 ID,并在访问该课程时获取该信息。示例代码:
class Course < BasicObject
attr_accessor :course_id, :course_info
[..]
def method_missing(*a, &b)
if course_info.nil?
load_course_info
end
course_info.send(*a, &b)
end
[...]
def load_course_info
# this will fetch the course information from a remote server
# using the course_id
end
我的问题:我想使用活动记录使代理的 course_id 持久化(不是课程信息),以便代理记住如何在以后再次获取信息。
Course继承自BasicObject所以我做不到
Course < ActiveRecord::Base
我猜 ActiveRecord::Base 有太多的方法可以用作代理。
解决办法是什么?