问题1Ruby on Rails中db/seeds.rb代码的作用域是什么?
假设我写db/seeds.rb
定义了一些变量,例如:user = User.create(...)
。
这些变量的范围是什么?
问题2
如果我有db/seeds.rb
的代码数量较大,是它推荐给把它放在一个class
?
问题1Ruby on Rails中db/seeds.rb代码的作用域是什么?
假设我写db/seeds.rb
定义了一些变量,例如:user = User.create(...)
。
这些变量的范围是什么?
问题2
如果我有db/seeds.rb
的代码数量较大,是它推荐给把它放在一个class
?
的变量是在已经启动的耙实例的范围。 因此,如果一次启动多个任务,他们将处于其他任务的范围内。
例如
rake db:seed custom:sometask
实例变量以dB为单位定义:种子可以在“sometask”
如果耙文件是因为添加太多记录的过大进行访问,你可以移动数据即插入到yaml文件中,这可以使您的种子文件更清洁,而不是创建一个类。
种子数据是任何必须加载才能正常工作的应用程序。应用程序需要加载其种子数据才能在开发,测试和生产中运行。
种子数据基本不变。它通常不会在您的应用程序中编辑。但是需求可能会发生变化,因此种子数据可能需要在已部署的应用程序上重新加载。
回答你的第二个问题,在seed.rb
行的代码不影响性能的种子的基本任务是初始化与预定义的记录的数据库。记住一点,父代创建是在创建子代之前完成的。
这里有一些参考资料,可以帮助你