更新:
将 table_name 更改为 self.table_name = 似乎已经说服 rails 使用正确的表。
但是,我现在遇到了这些奇怪的错误
Mysql2::Error: Unknown column 'templates.deleted_at' in 'where clause': SELECT `objekts`.* FROM `objekts` WHERE (`templates`.`deleted_at` IS NULL)
原始问题:
我有一个模板和一个 Objekt:
class Template < ActiveRecord::Base
def status; 0; end # Template doesn't have a status column, so define default
end
class Objekt < Template
table_name = "objekts" # there is a status column in this table
end
但是当我这样做时,Objekt.new.attributes在控制台中,它只列出Template对象的属性,而不列出任何Objekt.
上的每一列Template也可以在 中使用Objekt,但Objekt还有 10 列(主要是标志)
这里发生了什么?为什么 rails 不把Objekt班级挂在objekts桌子上?