STI在inheritance类型之间发生变化。
在我的模型中,我使用这样的STI
车型:vehicle.rb
class Vehicle < ActiveRecord::Base end
车型:car.rb
class Car < Vehicle end
总线型号:bus.rb
class Bus < Vehicle end
如果我创建一辆汽车,我可以以某种方式将其类型更改为车辆或公共汽车吗?
要永久更改类型,请更改type
列的值。
c1 = Car.first c1.name # BMW c1.update_attribute(:type, "Bus") b1 = Bus.first b1.name # BMW
要在内存中更改对象类型而不从DB重新加载它,请使用“变为,如同
c1 = c1.becomes(Bus)
- Ruby on Rails – Hash of Arrays,group by和sum by many columns
- Gitlab omnibus包安装ruby&git吗?
- 制作’some_element’.present? 在watir等待不到5秒
- Rails3 ActiveRecord :: StatementInvalid:…每个测试都没有这样的表
- 启动Sidekiq队列时的循环依赖关系
- ruby`coding’:“\ xC3”从ASCII-8BIT到UTF-8(Encoding :: UndefinedConversionError)
- Ruby Savon Gem更改日志记录配置
- Ruby:对象深度复制
- 如何添加用户名才能发表评论?