2011-07-03 40 views
3

我使用ruby 1.9.2和rails 3.0.9。db:种子抛出一个错误

每当我试图执行耙分贝:种子,它抛出以下错误:

rake aborted! 
uninitialized constant EmployeeCategory 

我已经禁用线程并启用了“在配置/ application.rb中文件dependency_loading。

config.threadsafe! unless $rails_rake_task 
config.dependency_loading = true 

但它仍然无法正常工作。

这里的seed.rb文件

StudentCategory.destroy_all 
StudentCategory.create([ 
{:name=>"OBC",:is_deleted=>false}, 
{:name=>"General",:is_deleted=>false} 
]) 

EmployeeCategory.create([ 
{:name => 'Management',:prefix => 'MGMT',:status => true}, 
{:name => 'Teaching',:prefix => 'TCR',:status => true}, 
{:name => 'Fedena Admin',:prefix => 'Admin',:status => true}, 
{:name => 'Non-Teaching',:prefix => 'NTCR',:status => true} 
]) 
EmployeePosition.create([ 
{:name => 'Principal',:employee_category_id => 2,:status => true}, 
{:name => 'Jr.Teacher',:employee_category_id => 3,:status => true}, 
{:name => 'Clerk',:employee_category_id => 4,:status => true} 
]) 
+0

请问您的应用程序是否可以在rails s上正常运行? – Dogbert

+0

向我们展示seed.rb包含 –

+0

rails在我的工作站上运行的文件。 – CodeMaster123

回答

7

这可能是一个明显的例子的内容,但你有你的employee_category.rb模型/模型产生的?发现每当我得到这个错误时,我创建视图,控制器和路由,但忘记了一些简单的事情,比如添加模型文件。

1

您是否在单个文件中为每个文件创建模型类?我曾经把两个类放在一个文件中(例如一个头文件和详细信息关系类),认为管理它们会更容易,但这是原因db:seed失败!

2

不相关,但当模型以状态结尾时,您也会收到错误。我面临同样的问题,所以这可能会帮助一些googlers

4

我解决了这个问题,确保我引用我的模型,而不是我的控制器在我的seed.db数据。我的控制器被命名为Categories,我的模型被命名为category。

This did not work: 

categories = [] 
categories << Categories.create(name: 'guitar') 
categories << Categories.create(name: 'bass') 
categories << Categories.create(name: 'synth') 
categories << Categories.create(name: 'effects pedal') 
categories << Categories.create(name: 'amplifier') 


This worked: 

categories = [] 
categories << Category.create(name: 'guitar') 
categories << Category.create(name: 'bass') 
categories << Category.create(name: 'synth') 
categories << Category.create(name: 'effects pedal') 
categories << Category.create(name: 'amplifier')