使用 db:seed 填充全球化 (Globalize2) 数据库

发布于 2024-08-16 13:38:46 字数 574 浏览 7 评论 0原文

我正在使用 Globalize2。我想用 db:seed 填充不同语言环境的数据库:en、de 和 ru。那么有没有更好的解决方案:

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

I,m using Globalize2. I'd like to populate DB with db:seed for different locales: en, de and ru. Is there a better solution then:

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

?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

手心的温暖 2024-08-23 13:38:46

随着 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

As Globalize2 version 0.2.0 released, we can use a little simplier code:

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文