Je construis un projet Ruby qui utilise un enregistrement actif mais pas de rails. A l'intérieur un de mes tests, je suis en train de ce qui suit:Active Record erreur inattendue i18n
it "fails with no driver name" do
command = "Driver"
expect {command_file.process_driver command}.to raise_error(ActiveRecord::RecordInvalid)
end
Et voici la méthode que j'essaie d'appeler
def process_driver command
driver_name = command.split[1]
Driver.create! :name => driver_name
end
Je me attends à passer :name => nil
à Driver.create!
qui devrait jeter un RecordInvalid
mais Je reçois I18n::InvalidLocaleData
. Voici le backtrace
expected ActiveRecord::RecordInvalid, got #<I18n::InvalidLocaleData: can not load translations from /Users/me/.rbenv/versions/2.3.1/lib/r...ems/activesupport-5.1.3/lib/active_support/locale/en.yml: expects it to return a hash, but does not> with backtrace:
# ./command_file.rb:81:in `process_driver'
# ./command_file.rb:63:in `block in process'
# ./command_file.rb:51:in `each'
# ./command_file.rb:51:in `each_with_index'
# ./command_file.rb:51:in `process'
# ./spec/command_file_spec.rb:60:in `block (5 levels) in <top (required)>'
# ./spec/command_file_spec.rb:60:in `block (4 levels) in <top (required)>'
# ./spec/spec_helper.rb:75:in `block (3 levels) in <top (required)>'
# ./spec/spec_helper.rb:74:in `block (2 levels) in <top (required)>'
Et voici mon Gemfile
source 'https://rubygems.org'
gem 'sqlite3', '~> 1.3', '>= 1.3.13'
gem 'activerecord', '~> 5.1', '>= 5.1.3'
gem 'pry', '~> 0.10.4'
gem 'rspec', '~> 3.6'
gem 'factory_girl', '~> 4.5'
group :test do
gem 'database_cleaner'
end
Je n'ai pas de fichiers locaux moi-même.
Une idée de ce qui se passe? Je ne cherche aucune traduction dans ce projet. Je ne comprends pas non plus pourquoi un fichier de paramètres régionaux fourni par active_support
devrait échouer. Je serais heureux de simplement désactiver i18n en quelque sorte si c'était possible mais je ne sais pas comment. Des idées quel est le problème?
Avez-vous des fichiers '.yml' ou des fichiers de configuration? Pourriez-vous joindre un '.gemfile'? –
@MaxL. Je n'ai aucun fichier '.yml' ou config. J'ai ajouté mon 'Gemfile' à la question – stoebelj
Quelque chose dans votre dossier' config/locales'? Vider le fichier 'en.yml', peut-être? –