我有一个名为TipoContato的模型(表tipos_contato),如果我将其复数,它将成为tipo_contatos,所以我将其添加到变形中:
inflect.irregular 'tipo_contato', 'tipos_contato'
好的,在控制台中测试它是完美的:
>> TipoContato
=> TipoContato(id: integer, descricao: string, created_at: datetime, updated_at: datetime)
但是,在运行测试用例时,我收到此错误:
ActiveRecord::StatementInvalid: Mysql::Error: Table 'contacts_test.tipo_contatos' doesn't exist: DELETE FROM `tipo_contatos`
我试图强迫rails识别我的桌子:
set_table_name 'tipos_contato'
我得到了同样的错误。
Rails 2.3.2
答案 0 :(得分:2)
不确定这是否是一个错误,但有一个解决方法。将fixtures文件的名称更改为tipos_contato.yml。接下来,将其连接到单元测试中,如下所示:
class TipoContatoTest < ActiveSupport::TestCase
set_fixture_class :tipos_contato => TipoContato
...
end
这是一个post,它更详细地描述了这一点。