【问题标题】:Rails engine / How to use seed?Rails 引擎/如何使用种子?
【发布时间】:2012-10-01 01:18:33
【问题描述】:

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

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

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

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

的种子.rb
cms::Engine.load_seed   

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

【问题讨论】:

  • 你使用什么版本的 ruby​​\rails?
  • 另外,试试这个命令:“rake cms:db:seed”。其中 cms - 引擎名称。并查看“rake -T” - 这将返回给您可用命令的完整列表。
  • 谢谢 - 我试过这个命令,我仍然得到“未初始化的常量页面”。我生成了模型“页面”。
  • Rails 3.2.8 和 Ruby 1.9.2p290

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


【解决方案1】:

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

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

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

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

Cms::Engine.load_seed

然后运行:

rake db:seed 

在终端中。

【讨论】:

  • 有什么方法可以自动执行此过程,而不是手动添加 load_seed 方法。我想知道可以添加和删除 gem 的用例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-29
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多