更新:
将 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
桌子上?