我有一个使用STI的模型:
class Contributor::Name < Contributor::NameBase
...
end
从这个模型:
class Contributor::NameBase < ActiveRecord::Base
...
end
每当Contributor::Name
实例化时,我都会收到此错误:
Mysql2::Error: Table 'shelflives_development.contributor_basis_name_bases' doesn't exist: SHOW FULL FIELDS FROM `contributor_basis_name_bases`
似乎不是查找表contributor_name_bases
,而是查找contributor_basis_name_bases
的ActiveRecord。为什么在basis
和contributor
之间添加name_bases
?我怎么能让它停下来?
答案 0 :(得分:1)
好的,这不是关于为什么rails添加“basis
”的答案,但它会对你有用。
在模型中使用set_table_name 'contributor_name_bases'
。