Globalize2 Получить только переведенные атрибуты из модели

    class Site < ActiveRecord::Base
      translates :title, :content
      attr_accessor :rank
    end 

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

1 ответ

Решение

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

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

Site.first.globalize_translations

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

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

Другие вопросы по тегам