在我面前的一张纸上,我列出了107个姓名,家乡,出生日期和性别列表。Mass创建模型的实例?
在我的Rails应用程序,我跑
rails g scaffold Person name hometown dob gender
。
是否必须通过创建的表单手动将每个人添加到数据库?有没有办法从我的文本编辑器做到这一点?
在我面前的一张纸上,我列出了107个姓名,家乡,出生日期和性别列表。Mass创建模型的实例?
在我的Rails应用程序,我跑
rails g scaffold Person name hometown dob gender
。
是否必须通过创建的表单手动将每个人添加到数据库?有没有办法从我的文本编辑器做到这一点?
您可以在db
文件夹中使用seed.rb
文件。您可以执行任意的Ruby语句来创建对象并将它们保存(或更新)到数据库中。 只需列出一堆像这样的语句并执行db:seed
Rake任务。
Person.create(:name => 'Bob', :hometown => 'Bobington', :dob => '1980-06-25', :gender => 'male')
注意,如果所创建的记录中的一个发生故障的唯一支票或类似的东西(即不能插入到数据库)的任务将失败。如果可以的话,使用其他的rake任务(db:drop
,db:create
,db:migrate
)'清理'数据库,如果无法擦除,可以用手清空表格。
这看起来正是我所期待的。让我试试这个。我需要在'db:seed'后面运行'rake db:migrate'吗? –
@DylanRichards不,你需要在'db:seed'之前运行它。确切地说,是 –
。 Seed是设置数据库的最后一步。我扩展了答案,以便在执行种子时数据库不为空时也记下可能存在的问题。请注意,您始终可以调试种子文件来追踪错误。 – KappaNossi
列表的结构是什么?需要更多信息来提供解决方案。 –
你可以写一个方法,但如果他们在纸上,你仍然需要输入所有的数据,或者你可以在控制台中完成,你仍然需要输入数据。 –
@Baloo - 我知道我将不得不在某处输入它们。但是有没有一种更有效的方法比每次都将它们提交给一个表单呢? –