今天编写ROR应用接受了两个深刻教训:
1. 以打印异常为荣,以出错不报为耻:
很简单的undefined method错误,因为错误被我rescue之后没有打印出来,结果花了一个小时调试。一定要深刻反省!
2. has_many :through 不能代替 has_and_belongs_to_many:
用了has_many :through之后
不能保存到数据库。
如果join_table不需要额外的字段,就has_and_belongs_to_many吧,因为这时,中间那个Model不是Model!,权当作实现复杂性吧!
1. 以打印异常为荣,以出错不报为耻:
很简单的undefined method错误,因为错误被我rescue之后没有打印出来,结果花了一个小时调试。一定要深刻反省!
2. has_many :through 不能代替 has_and_belongs_to_many:
用了has_many :through之后
user.items << item
不能保存到数据库。
如果join_table不需要额外的字段,就has_and_belongs_to_many吧,因为这时,中间那个Model不是Model!,权当作实现复杂性吧!