2009-12-30 3 views
0

I, m utilise Globalize2. Je voudrais remplir DB avec db: seed pour différentes locales: en, de et ru. Y a-t-il une meilleure solution alors:Remplissage de la base de données globalisée (Globalize2) à l'aide de 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 

?

Répondre

2

Comme la version 0.2.0 Globalize2 publié, nous pouvons utiliser un petit code simplier:

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 
Questions connexes