2009-12-30 2 views
0

I, m using Globalize2. Я хотел бы заполнить DB db: seed для разных локалей: en, de и ru. Есть ли лучшее решение тогда:Заполнение глобализированной (Глобализация2) БД с использованием db: seed

categories = [{ :en => 'Health & Beauty', :ru => 'Красота и здоровье', :de => 'Beauty & Gesundheit'}, 
       { :en => 'Baby', :ru => 'Детские товары', :de => 'Baby' }] 

categories.each_index do |i| 
    I18n.locale = 'en' 
    Category.create(:name => categories[i][:en]) 
    I18n.locale = 'ru' 
    cat = Category.find(:last) 
    cat.name = categories[i][:ru] 
    cat.save 
    I18n.locale = 'de' 
    cat.name = categories[i][:de] 
    cat.save 
end 

?

ответ

2

Как Globalize2 версия 0.2.0 выпущена, мы можем использовать немного кода: проще

categories = [{ :en => 'Health & Beauty', :ru => 'Красота и здоровье', :de => 'Beauty & Gesundheit'}, 
       { :en => 'Baby', :ru => 'Детские товары', :de => 'Baby' }] 

categories.each_index do |i| 
    I18n.locale = 'en' 
    cat = Category.new :name => categories[i][:en] 
    I18n.locale = 'ru' 
    cat.name = categories[i][:ru] 
    I18n.locale = 'de' 
    cat.name = categories[i][:de] 
    cat.save 
end