2009-03-22 7 views
1

j'ai un modèle appelé TipoContato (tableau tipos_contato), si je pluralize cela, il deviendra tipo_contatos, donc j'ajouté à flexions:Bug au pluriel et test?

inflect.irregular 'tipo_contato', 'tipos_contato' 

OK, il tester dans la console, il est parfait:

>> TipoContato 
=> TipoContato(id: integer, descricao: string, created_at: datetime, updated_at: datetime) 

Mais, lors de l'exécution des cas de test je reçois cette erreur:

ActiveRecord::StatementInvalid: Mysql::Error: Table 'contacts_test.tipo_contatos' doesn't exist: DELETE FROM `tipo_contatos` 

Essayer de forcer rails à reconnaître ma table j'ai essayé:

set_table_name 'tipos_contato' 

Et j'ai eu la même erreur.

Rails 2.3.2

Répondre

2

Je ne sais pas si c'est un bug, mais il y a une solution de contournement. Changez le nom du fichier d'appareils en tipos_contato.yml. Ensuite, le fil ce dans le test unitaire comme ceci:

class TipoContatoTest < ActiveSupport::TestCase 
    set_fixture_class :tipos_contato => TipoContato 
    ... 
end 

Voici un post qui décrit cela dans un peu plus en détail.