ruby-on-rails - 如何获取模型中的全局化字段列表?

标签 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

最佳答案

结果是:

#translated_attribute_names

关于ruby-on-rails - 如何获取模型中的全局化字段列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25540248/

相关文章:

ruby-on-rails - prawn 需要 Ruby 版本 >= 2.0.0 但我已经有了

php - 根据 url 上的国家/地区将用户重定向到正确的数据库,我使用 i18n for php,我使用 kohana 框架

internationalization - 在 Inno Setup 中使用内置消息

java - 没有 faces-config 的 JSF 2.0 国际化

ruby-on-rails - 在 Rails 中以不同语言输入字段值

ruby-on-rails - rails_admin 参数 [ :query] in select field is ignored

ruby-on-rails - 为多个对象分配当前用户?

ruby-on-rails - Ruby on Rails - 轮胎 - elasticsearch,如何对导入的数据进行排序?

javascript - Redactor JS - 使用 BootstrapValidator 验证表单

ruby-on-rails-3 - 如何保存 1 个对象的多个翻译而不使用 Globalize 重置 I18n.locale?