我的语言环境是:de,我喜欢这个:

Sheet.model_name.human.pluralize # => Belegs

给我加上尾随的“e”而不是“s”
Sheet.model_name.human.pluralize # => Belege

仅用于图纸类。
我可以在我的config / locales / models / de.yml中添加它吗?

最佳答案

首先,您需要停止使用.pluralize。它使用了Inflector(主要用于Rails内部,例如猜测模型Sheet-> sheets的表名)。

Sheet.model_name.human # => "Beleg"
"Beleg".pluralize # => "Belegs"

您应该做的是使用:count选项。
Sheet.model_name.human(:count => 2) # => "Belege"

这要求您已经修改了de.yml如下:
de:

  ...

  activerecord:

    ...

    models:
      sheet:
        one: Beleg
        other: Belege

关于ruby-on-rails - 在rails3中覆盖模型名称的默认复数形式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6178900/

10-12 17:54