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

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...