是否有一个页面描述了seed.rb的约定?我认为我已经通过所有指南完成了操作,但是仍然找不到描述Seeds.rb应该如何工作的页面。
我准备在一个新项目和一个新机器上工作,并且我希望需要解决与以下错误类似的几个错误。我仍然对Rails还是陌生的,并且在确定是否是红宝石或Rails问题时遇到了麻烦。
things_add method in seeds.rb?
seeds.rb是纯红宝石与数据库对话吗?
TIA
答案 0 :(得分:1)
seeds.rb
只是一个Ruby文件,没有什么特别的,只不过它是作为rake db:seed
任务的一部分执行的。
您可以将所需的任何代码放入其中,只要它仅使用已定义的方法和类或已在更大的应用程序中定义的类即可。
它没有被很好地记录的原因是因为这里实际上没有规则。您可以将任何内容放入其中。具有循环,辅助方法等,这很常见,具体取决于播种过程的复杂性。
我要提到的唯一“规则”是,rake db:create && rake db:seed
组合现在和将来都可以可靠地使用。很容易忘记您的seed.rb
文件,并且在创建和使用它很长时间之后,您就需要通过代码更改破坏其中的某些内容。
值得测试的是,如果您要打包这个项目并且需要不时地从头开始,或者让新的开发人员定期加入不想拥有的项目,则该文件仍然偶尔会工作一次调试旧错误。