2

我正在使用 Ryan Bates railscasts 中看到的 Globalize 3 gem,一切正常。我需要知道如何播种数据。目前,我使用以下架构创建了一个名为monthly_post_translations 的表

架构.rb

create_table "monthly_post_translations", :force => true do |t|
  t.integer  "monthly_post_id"
  t.string   "locale"
  t.text     "body"
  t.datetime "created_at"
  t.datetime "updated_at"
end

我需要将种子数据添加到此表中,但它没有可与之交互的模型,那么我该怎么做呢?

这是我的电流 seed.rb 不起作用

种子.rb

# Monthly Posts
  MonthlyPost.delete_all

 monthlypost = MonthlyPost.create(:body => "Monthly Post Text")


#Monthly Posts Spanish Translation
monthlytranslation = MonthlyPostTranslation.create(:body => "Spanish Translation of monthly post text",
      :monthly_post_id => monthlypost.id,
      :locale => "es" )

但是monthly_post_translation 表没有我可以与之交互的模型,所以我得到了错误

uninitialized constant MonthlyPostTranslation

关于如何正确添加此种子数据的任何想法?

4

1 回答 1

4

文档中通过键入 translates :<attribute_name_here>您会生成名为MonthlyPost::Translation. 所以答案将是:使用实例集合来创建或列出实体的所有翻译:

monthlypost = MonthlyPost.create(:body => "Monthly Post Text")


#Monthly Posts Spanish Translation
monthlytranslation = monthlypost.translations.create(:body => "Spanish Translation of monthly post text",
      :locale => "es" )
于 2012-04-08T21:08:54.910 回答