因此,我正在努力使用现有数据库迁移这个 php 站点,但我无法将其更改为 Rails。这里有张桌子:Quotes
有一列名为type
。每当我尝试创建此模型并设置类型时,它都会告诉我以下错误:
ActiveRecord::SubclassNotFound (Invalid single-table inheritance type: HOME is not a subclass of Quotes)
我不明白为什么它认为它继承了,因为它不应该继承。我的创建方法如下所示:
quote = Quotes.create(
agent_id: agent.id,
client_id: client.id,
type: 'HOME',
status: 0,
date_created: DateTime.now
)
如果我注释掉该类型,一切都会正常。但使用 Type 时会出错。
我通过将模型继承列设置为 nil 解决了这个问题。 Active Record 模型可以通过属性从表继承:type
,将继承列设置为 nil 会删除该属性,从而允许您拥有名为的数据库列type
class Quote < ActiveRecord::Base
self.inheritance_column = nil
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)