Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何测试所有rails转换调用是否通过所有插值键?_Ruby On Rails_Testing_Internationalization - Fatal编程技术网

Ruby on rails 如何测试所有rails转换调用是否通过所有插值键?

Ruby on rails 如何测试所有rails转换调用是否通过所有插值键?,ruby-on-rails,testing,internationalization,Ruby On Rails,Testing,Internationalization,我想验证我的应用程序中的所有转换调用是否传递了正确的插值参数。但是,如果没有传递任何参数,则不会引发异常 根据Rails i18n文档 “如果转换需要插值变量,但尚未传递给#translate,则会引发I18n::MissingInterpolationArgument异常。” 然而,如果没有传递插值变量,情况似乎并非如此。例如,此代码不会引发异常: require 'i18n' I18n.backend.store_translations :en, :thanks => 'Thanks

我想验证我的应用程序中的所有转换调用是否传递了正确的插值参数。但是,如果没有传递任何参数,则不会引发异常

根据Rails i18n文档

“如果转换需要插值变量,但尚未传递给#translate,则会引发I18n::MissingInterpolationArgument异常。”

然而,如果没有传递插值变量,情况似乎并非如此。例如,此代码不会引发异常:

require 'i18n'
I18n.backend.store_translations :en, :thanks => 'Thanks %{name}! '
I18n.translate :thanks # <- expect an exception, but it just returns 'Thanks %{name}!'
I18n.translate :thanks, :foo => 'bar' # <- this raises
需要“i18n”
I18n.backend.store_translations:en,:Thank=>“Thank%{name}!”

谢谢"酒吧""这对我来说像是个铁路窃听器。你为什么不尝试修补它?

事实上,我问Sven(i18n的创建者)这是否是预期的,他同意这看起来像个bug,所以我在