class User < ActiveRecord::Base
end
class Consumer < User
end
class Merchant < User
end
u = User.find(id)
如何将变量 u
类型转换为 Consumer 类型?
最佳答案
我找到了这个问题的答案。 ActiveRecord::Base 类有一个用于此目的的方法:
http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M002334
代码将是
u = User.find(id)
u = u.becomes(u.type.constantize)
关于ruby-on-rails - 单表继承(STI)场景中的类型转换基类模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1821699/