【发布时间】:2014-10-21 19:27:53
【问题描述】:
我使用 gems globalize 和 globalize_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
【问题讨论】:
标签: ruby-on-rails internationalization globalize