0

我有一个项目的脚手架,它有大约 200 多个预先修复的项目。

所以手动添加它们真的很痛苦。

我可以在我的种子文件中填充脚手架然后db:seed在生产中吗?

我不知道正确的方法,但我认为它是这样的:

items = Item.create([
    { name: 'css' }, 
    { name: 'css3' },
    { name: 'ruby' },
    { name: 'rails' },
    { name: 'python' },
    { name: 'html' }
    ])

我正在寻找一种可以为我的项目的脚手架播种的解决方案...

4

2 回答 2

2

通过在 db/seeds.rb 文件的数组中添加剩余项目并运行 rake db:seed 命令来尝试以下代码。这会在项目表中生成预期的记录。

['css','rubyonrails','java'].each 做 |item|

Item.find_or_create_by_name(:name => item)

结尾

祝你好运。

于 2013-10-09T12:38:33.217 回答
1

您必须这样做,但您不需要将其分配给 items 变量。

您只需将代码与您的项目一起添加到 seed.rb 文件。我之前添加了 delete_all 以避免创建重复项。

Item.delete_all
Item.create([
{ name: 'css' }, 
{ name: 'css3' },
{ name: 'ruby' },
{ name: 'rails' },
{ name: 'python' },
{ name: 'html' }
])

然后您必须使用 rake:db 种子为您的数据库播种。

于 2013-10-09T11:38:10.493 回答