Globalize2 Получить только переведенные атрибуты из модели - PullRequest
0 голосов
/ 26 ноября 2009
    class Site < ActiveRecord::Base
      translates :title, :content
      attr_accessor :rank
    end 

Как я могу перечислить только те атрибуты модели сайта, которые работают с методом translates? (в этом случае я должен получить массив с ['title', 'content'], без атрибута rank, потому что он не переведен.

1 Ответ

1 голос
/ 26 ноября 2009

Переводы хранятся в отдельной таблице, доступной через ассоциацию globalize_translations

Итак, чтобы получить их, просто сделайте

Site.first.globalize_translations

Затем вам придется отфильтровать непереведенные столбцы, например id, site_id, locale, created_at, updated_at, остальные должны быть теми, которые вы перевели.

Если вы хотите получить какие атрибуты, которые переводятся, а не их содержимое, то вы можете найти их в globalize_options: Site.globalize_options[:translated_attributes]

...