1

我有一个使用 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_basesActiveRecord 不是在查找表,而是在查找contributor_basis_name_bases。为什么要在andbasis之间添加?我怎样才能让它停止?contributorname_bases

4

1 回答 1

1

好的,这不是关于为什么 rails 添加 ' basis' 的答案,但它会为你工作。在您的模型中
使用。set_table_name 'contributor_name_bases'

于 2013-04-24T20:26:30.557 回答