0

私はGlobalize2を使用しています。さまざまなロケール(en、de、ru)のdb:seedを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

4

1 に答える 1

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
于 2009-12-31T09:05:56.280 に答える