Rails引擎/如何使用种子?

时间:2012-10-10 14:16:21

标签: ruby-on-rails rails-engines seed

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

在引擎中,我得到了种子.rb:

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

然后在我的虚拟应用程序中,我得到了一个带有

的seeds.rb
cms::Engine.load_seed   

(cms是引擎的名称) - 我现在收到一个错误,那就是“未初始化的常量”。如何从虚拟应用程序引用常量?

1 个答案:

答案 0 :(得分:24)

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

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

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

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

Cms::Engine.load_seed

并运行:

rake db:seed 

在终端。