Bla*_*ten 16 rails-models ruby-on-rails-4
所以,我正在使用现有的数据库迁移这个php站点,我无法将其转换为Rails.有一个表:Quotes有一个名为的列type.每当我尝试创建一个模型并设置类型时,它会告诉我以下错误:
ActiveRecord::SubclassNotFound (Invalid single-table inheritance type: HOME is not a subclass of Quotes)
我不明白为什么它认为它继承,因为它不应该.我的create方法如下所示:
quote = Quotes.create(
  agent_id: agent.id,
  client_id: client.id,
  type: 'HOME',
  status: 0,
  date_created: DateTime.now 
)
Run Code Online (Sandbox Code Playgroud)
如果我注释掉类型,一切正常.但是键入它错误.
Bla*_*ten 50
我通过将模型inheritance_column设置为nil来解决这个问题.Active Record Models可以通过属性从表继承:type,将inheritance_column设置为nil会删除该属性,允许您拥有一个名为的数据库列type
class Quote < ActiveRecord::Base
    self.inheritance_column = nil
end
Run Code Online (Sandbox Code Playgroud)