如何获取模型中的全球化字段列表?

时间:2014-08-28 03:27:27

标签: ruby-on-rails internationalization globalize

我使用gems globalizeglobalize_accessors来翻译我的模型。这是一个例子:

# model.rb
class Model < ActiveRecord::Base
  translates :title, :description
  globalize_accessors
end

我希望能够检索表单中的[:title, :description]字段列表以循环显示它们。

我已经四处寻找,我唯一能找到的是#globalize_attribute_names方法。但是,它返回一个已翻译字段的列表,其中的语言环境按原始标题排序:

[:title_en, :title_es, :title_xx, :description_en, ... ]

所以,问题是 - 有没有办法获取我在translates中指定的字段列表?

我有点像这样修理它,但它不是很好:

  def translates
    globalize_attribute_names.map do |name|
      name[/(\w+)_\w{2}\z/]
      Regexp.last_match[1]
    end.uniq
  end

1 个答案:

答案 0 :(得分:6)

原来是:

#translated_attribute_names