我想让我的rails 3应用程序种子,并且遇到问题。我的类别表有以下字段:如何使用rake数据库创建类别和子类别:种子
字符串“name” 整数“位置” 整数“PARENT_ID”
的PARENT_ID是另一类别的ID,用于nested_set。
Seeds.rb
Category.delete_all
Category.create(:name => "Category 1",
:position => 1,
:parent_id => nil)
Category.create(:name => "Subcategory 1",
:position => 1,
:parent_id => 1)
当我运行
rake db:seed
我得到的错误:
rake aborted!
Couldn't find Category with id=1
Tasks: TOP => db:seed
(See full trace by running task with --trace)
那么,如何我首先创建类别,因此ID 1将能得到的?
太棒了,工作。我可以继续像那样继续引用second_category.id third_category,或者我如何引用第一个元素之后的元素? – ruevaughn 2012-04-03 04:40:23
好吧,我已经考虑过它,我明白它不会自动增量。那么我需要找到ID来引用第二个或第三个元素? – ruevaughn 2012-04-03 04:48:14
@ruevaughn只需将您正在创建的Category.create语句分配给一个变量,然后引用该变量的ID即可。我使用的变量名是任意的。 – JamesSwift 2012-04-03 04:51:39