如何在content_for()帮助器中连接I18n.t()字符串?

时间:2017-09-26 07:22:51

标签: ruby-on-rails ruby

我想连接我的本地化文件“admin.titles.index”和“%{model_name}”(来自activerecord.models.harddisk)的字符串。

我尝试过:

<% title = I18n.t("admin.titles.index") + I18n.t("%{model_name}", 
           model_name: admin.model_name, 
           pluralized_model_name: admin.model_name.pluralize)%>

<% content_for(:title, title) %>

但是我收到一条错误消息:

translation missing: de.%{model_name}

我该如何解决?

1 个答案:

答案 0 :(得分:0)

您需要为{1}}传递的字符串提供翻译。只要您没有I18n.t的翻译,就会收到错误消息。

在您的情况下,您可以将本地化的字符串与您的模型名称连接起来:

"%{model_name}"

否则,您需要在<% title = I18n.t("admin.titles.index") + admin.model_name %> 文件中为model_name提供翻译。例如:

yml

然后将其用作

en:
  model_name: "English %{model_name}"
de:
  model_name: "German %{model_name}"