我有一个项目的脚手架,其中包含约200多个预先修复的项目。
因此手动添加它们真的很痛苦。
我可以在种子文件中填充脚手架,然后在生产中填充db:seed
吗?
我不知道正确的方法,但我认为它是这样的:
items = Item.create([
{ name: 'css' },
{ name: 'css3' },
{ name: 'ruby' },
{ name: 'rails' },
{ name: 'python' },
{ name: 'html' }
])
我正在寻找能够为我的物品的脚手架播种的解决方案...
答案 0 :(得分:2)
通过在db / seeds.rb文件中添加数组中的剩余项目并运行rake db:seed命令来尝试以下代码。这会在项目表中生成预期记录。
祝你好运。['css','rubyonrails','java']。每个do | item |
Item.find_or_create_by_name(:name => item)
端
答案 1 :(得分:1)
你必须这样做,但你不需要将它与项变量对齐。
您只需要在seed.rb文件中添加包含项目的代码即可。我之前添加了delete_all以避免创建重复的项目。
Item.delete_all
Item.create([
{ name: 'css' },
{ name: 'css3' },
{ name: 'ruby' },
{ name: 'rails' },
{ name: 'python' },
{ name: 'html' }
])
然后你必须用rake:db seed。
来种子数据库