结论:原来放在 Test 中的 attr_accessible 没有移到新增的基类中,所以导致字段赋值失败;移到基类中就 OK 了
#1 楼 @zlx_star 上面是我的笔误,@super_test .project 也是返回 nil
#1 楼 @chaucerling 嗯,但是 validate 的方法好几个,这么改比较丑。。但是也没好办法。
#2 楼 @rei 那就是单表继承的时候,对子类对象的渲染还是会去找子类类型对应路径下的模板? 那就是必须新增 views/子类类型/xxx.html.haml 了,我以为只需要在父类的路径下增加对应子类类型名的 xxx.html.haml 就可以了。
def self.inherited(child)
child.instance_eval do
def model_name
user.model_name
end
end
super
end
这个方法没完全看明白,只知道是在子类继承 user 时,会触发执行 inherited 方法,但是这个方法里重写的 model_name 以及最后的 super 到底是什么含义没搞明白。
问题解决 是 DNS 服务器有问题,导致解析不了域名了; 把 resolv.conf 里的服务器改为可用的 DNS 服务器就 OK 了。