2012-10-10 24 views
12

我创建了一个Rails引擎。我遇到麻烦使用种子命令,如果我运行rake db:种子我得到的错误:“未初始化的常量”。Rails引擎/如何使用种子?

在引擎方面,我得到了一个seeds.rb:

Page.create(:title => 'Frontpage', :order => '1')

然后在我的虚拟应用程序我得到

cms::Engine.load_seed 

(CMS是的名称的seeds.rb引擎) - 虽然我现在得到了一个错误,那就是“未初始化的常量”。我如何从虚拟应用程序中引用常量?

+0

你使用的是什么版本的ruby \ rails? –

+0

另外,试试这个命令:“rake cms:db:seed”。哪里cms - 引擎的名字。并看看“rake -T” - 这将返回给你完整的可用命令列表。 –

+0

谢谢 - 我试过命令,我仍然得到“未初始化常量页”。我生成了模型“页面”。 – jakobk

回答

22

好吧,明白了! - 答案是:

在发动机,在db文件夹添加seeds.rb,在前面加上应用程序名称,每一个恒定的,就像这样:

Cms::Page.create(:title => 'Frontpage', :order => '1') 

在虚拟应用程序或应用程序,其中要添加你的引擎,添加seeds.rb到数据库文件夹:在TERMIN

rake db:seed 

Cms::Engine.load_seed 

并运行人。

+3

是否有任何方法可以自动执行此过程,而不是手动添加load_seed方法。我想知道可以添加和删除宝石的用例。 –