升级到rails 3.2.16后,我收到了弃用警告。弃用与enforce_available_locales有关,我可以通过应用此问题的解决方案来解决它。
Rails I18n validation deprecation warning
解决方案是在config/application.rb
config.i18n.enforce_available_locales = true
添加上述行后,我的rspec测试突然变得非常慢。通常每个测试用例需要大约0.03-0.1秒,现在每个测试用例需要大约2-4秒。
是否有人遇到同样的问题?或者这仅适用于我的环境?
仅供参考,这是我的宝石:
gem 'rails', '= 3.2.16'
gem 'rspec', '~> 2.14.1'
gem 'rspec-rails', '~> 2.14.0'
gem 'shoulda', '~> 3.5.0'
gem 'i18n', '~> 0.6.9'
编辑:
我发现this issue on GitHub i18n,似乎不仅仅是我......
答案 0 :(得分:1)
有一个github问题:https://github.com/svenfuchs/i18n/issues/230
问题已在2014年5月7日解决:https://github.com/svenfuchs/i18n/pull/249
答案 1 :(得分:0)
我建议您使用zeus
gem以更快的方式加载整个环境。您可以关注this screencast了解详情。
如果不将其添加到Gemfile,请安装zeus
gem(gem install zeus
),然后在shell中运行zeus start
。打开另一个shell,您将在rails
快捷方式下拥有所有常见的zeus
命令。
使用zeus rspec spec/
运行测试时,您会发现速度非常快,因为整个rails环境始终在内存中加载,并且每次运行测试时都不需要初始化。