通过种子填充脚手架

时间:2013-10-09 10:35:18

标签: ruby-on-rails ruby-on-rails-4 scaffolding seed

我有一个项目的脚手架,其中包含约200多个预先修复的项目。

因此手动添加它们真的很痛苦。

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

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

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

我正在寻找能够为我的物品的脚手架播种的解决方案...

2 个答案:

答案 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。

来种子数据库