ruby-on-rails – Rails:删除丢失的翻译错误

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails:删除丢失的翻译错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用国际化的英语(en)和法语(fr),我使用en.yml有限的使用和大部分的翻译,我在fr.yml写​​.

使用locale作为fr一切都很好,但与en它显示我的错误,因为缺少翻译跨度.

例如,如果我有这样的东西

<%= text_field_tag( "search",params[:search],:placeholder=>t("Search"),:class=>"search_input") %>

我得到的输出为en是:

<input class="search_input" id="search" name="search" placeholder="<span class=" translation_missing"="" title="translation missing: en.Search">

我想要的是,它应该关闭英语的翻译错误,因为英语是我的默认语言,但在某些情况下,我已经使用en.yml.

或者如果这是不可能的,那么整个错误消息应该被删除.

谢谢

解决方法

在Rails 4.1中已经修改了HTML缺少的翻译错误的实现.现在,而不是I18n库,它在视图助手层处理.也就是说,在“翻译”帮助方法(请参阅action_view / helpers / translation_helper.rb).

现在干净的方法是覆盖助手方法并自己处理异常.

# app/helpers/i18n_helper.rb

module I18nHelper
  def translate(key,options={})
    super(key,options.merge(raise: true))
  rescue I18n::MissingTranslationData
    key
  end
  alias :t :translate
end

猜你在找的Ruby相关文章