Ruby on rails 将种子数据添加到开发数据库以进行测试

Ruby on rails 将种子数据添加到开发数据库以进行测试,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.1,seeding,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.1,Seeding,我有几个表,我想添加大约10行数据,以尊重和说明它们之间的关系 如何将种子数据(虚拟数据)添加到应用程序的开发数据库中进行测试? 我希望有人能为我指出一种rails友好的方法来实现这一点 是否有一种简单的方法可以在每个表透视控制器中创建CRUD方法 这就是db/seeds.rb文件的用途 您可以使用rake db:seed执行它 seeds.rb的默认内容 # This file should contain all the record creation needed to seed the

我有几个表,我想添加大约10行数据,以尊重和说明它们之间的关系

  • 如何将种子数据(虚拟数据)添加到应用程序的开发数据库中进行测试?
    我希望有人能为我指出一种rails友好的方法来实现这一点

  • 是否有一种简单的方法可以在每个表透视控制器中创建CRUD方法


    • 这就是
      db/seeds.rb
      文件的用途

      您可以使用rake db:seed执行它

      seeds.rb的默认内容

      # This file should contain all the record creation needed to seed the database with its default values.
      # The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
      #
      # Examples:
      #
      #   cities = City.create([{ :name => 'Chicago' }, { :name => 'Copenhagen' }])
      #   Mayor.create(:name => 'Daley', :city => cities.first)
      
      您可以在这里使用ruby,因此要插入10个用户:

      1.upto(10) do |i|
         User.create(:name => "User #{i}")
      end
      

      我不明白你的第二个问题。你能详细解释一下吗?我想我刚刚找到了第二个问题的答案。我相信脚手架可以帮助我设置CRUD控制器和视图?哦,是的,脚手架将为您创建CRUD功能。我建议您在学习时使用它,而不是在实际构建应用程序时使用它。因此,我需要在seed.rb文件中插入代码,然后执行rake?我希望有一种更自动化的方法来添加几十行数据,因为这是一个ruby文件,所以可以使用循环。如果您想使用真名等,也可以使用faker gem。我不推荐这种方法,因为这不是种子文件/任务的用途。请参阅(IMO)一个更好的答案。seed.db是否仅用于生产数据和rake db:fixtures:load for development and testing???@Taysky是正确的。Seed用于您的应用程序可能拥有的真实Seed数据。例如,行星名称或角色的静态列表。我建议在db名称空间下创建一个定制的rake任务。使用ActiveRecord通过循环创建多个记录。