有没有更好的方法来生成使用Rails的资源的i18n链接

时间:2012-02-09 01:12:29

标签: ruby-on-rails internationalization

生成资源链接的最佳方法是什么,以便显示的文本考虑到i18n shenanigans?

我目前在做什么:

<%= link_to t("links.menu.foos"), foos_path %>

这样我就会得到一个类似于<a href='/foos'>Foos</a>

的链接

但这看起来很傻 - 我的模特(Foo)已经有了一个名字。感觉就像应该有一个更简单的方式:

<%= link_to Foo, foos_path %>

在我的en.yml中:

activemodel:
  models:
    foo
      name:
        one: Foo
        other: Foos

1 个答案:

答案 0 :(得分:1)

使用the standard way to translate ActiveRecord models

en:
  activerecord:
    models:
      foo: Foo

您可以使用ActiveModel::Name#human

link_to Foo.model_name.human, foos_path

我不知道en.yml与[{1}}和one的{​​{1}}语法是否为Rails标准,而others是否可以使用它。我在一个小应用程序中尝试过但没有成功。