我正在使用Ryan Bates轨道广播中看到的Globalize 3 gem,一切正常。我需要知道如何播种数据。目前,我创建了一个名为monthly_post_translations的表,其中包含以下架构
schema.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
我需要将种子数据添加到此表中,但它没有与之交互的模型,所以我该怎么做?
这是我的电流seeds.rb无法正常工作
seeds.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" )
但是month_post_translation表没有我可以与之交互的模型,所以我收到了错误
uninitialized constant MonthlyPostTranslation
有关如何正确添加此种子数据的任何想法?
答案 0 :(得分:4)
从documentation开始,输入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" )