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]