如何翻译ActiveRecord模型类名?

当我有一个ActiveRecord模型类的实例时,最简单的方法是什么

例如,我有这样的模型类:

类别<ActiveRecord::Base
...
终止

我有一个类的实例:

category=category.first

我有YAML文件config/locales/cs.yml

cs:
activerecord:
模型:
类别:卡特戈里

我需要动态地完成这项工作,即使我以前不知道我将处理哪个模型类的实例。所以我不想显式地指定“activerecord.models.category”

有没有一个简单的方法可以做到这一点?我知道,我可以做这样的事

“activerecord.models.{category.class.name.下划线}”

但必须有更好的方法来做到这一点

见:

http://api.rubyonrails.org/classes/ActiveModel/Naming.html
http://guides.rubyonrails.org/i18n.html#translations-对于活动记录模型

因此,例如,在AR类中使用:

Person.model\u name.human

或者从AR实例:

person.class.model\u name.human

发表评论