比如我在一个 model 中定义 driver
attr_accessor :driver
我在查询时就可以如下方式将 driver 字段映射到对象
model.select("models.driver AS driver")
model.driver model[driver] 就可以调用(driver 是个字符串)
select 方法只会返回 attributes 的 hash,并不会给 @driver
赋值
现在 driver 不再是字符串,而是一张表,在一个较复杂的多表联查中,且在不联查 driver 表的情况下,我能拿到 driver_id 那问题来了,model 要怎么初始化 driver 呢? 我试过以下方法,但是不管用
attr_reader :driver
def driver=(driver_id)
@driver = Driver.find(driver_id)
end
各位大神支个招吧,或者告诉我 rails 组装对象那部分的源码在哪里也好啊~