2009-12-30 81 views
0

我使用Globalize2。我想用db:seed填充不同的语言环境:en,de和ru。那么有没有更好的解决方案:使用db填充全球化(Globalize2)数据库:种子

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发布,我们可以用一个小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