2009-12-30 6 views
0

I, m Globalize2를 사용합니다. 다른 로케일에 대해 db : seed를 사용하여 DB를 채우고 싶습니다. en, de 및 ru. 더 좋은 해결책이 있습니까?db : seed를 사용하여 세계화 된 (Globalize2) DB 채우기

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