13

我创建了一个 Rails 引擎。我在使用种子命令时遇到了问题,如果我运行 rake db:seed 我得到错误:“未初始化的常量”。

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

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

然后在我的虚拟应用程序中,我得到了一个seeds.rb

cms::Engine.load_seed   

(cms 是引擎的名称)——不过我现在遇到了一个错误,即“未初始化的常量”。如何从虚拟应用程序中引用常量?

4

1 回答 1

26

好的,我知道了!- 答案是:

在引擎中,在 db 文件夹中添加一个 seed.rb,将应用名称添加到每个常量之前,如下所示:

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

在虚拟应用程序或您要添加引擎的应用程序中,将 seed.rb 添加到 db 文件夹中:

Cms::Engine.load_seed

并运行:

rake db:seed 

在终端。

于 2012-10-10T16:15:13.297 回答