2010-04-07 91 views
2

我正在开发一个Rails应用程序,并且在那个应用程序中我开发了一个Rake任务,它将读取文件中的条目并将它们存储到数据库中。生成代码没有问题,但我想知道,我在哪里放置读取的文件?有没有一个约定,如果是,它是什么?将放入Rails应用程序的文件放在哪里?

我知道我可以使用seed.rb文件,但是它可以通过标准来加载和读取文件?

在此先感谢!

回答

3

是的,把你想要加载的数据放在db/seeds.rb文件中并加载它运行rake db:seed。这是这个文件的设计目的。

+0

+1我甚至不知道这个任务。问题是没有种子的迁移/版本控制,是吗? – 2010-04-07 23:54:41

+0

你的意思是从seeds.rb读取文件吗?如果这就是你的意思,当有很多文件需要读取时该怎么办? – Guilherme 2010-04-08 02:10:22

+1

@Guilhereme任何ruby代码都可以在seeds.rb中,因此它可以引用其他文件。在db下创建一个名为seed的目录,或许? – 2010-04-08 08:03:17

0

哪里把东西放在Rails中是一个问题,I've been working around for a while。问题是你的文件是否可以适应现有的一个问题。例如,它是配置信息吗?

无论如何,也许类似的适合将是放在db目录中的schema.rb。 不要修改schema.rb与您的数据,当然:我只是建议db目录或子目录可能是放置您的文件的地方。另一方面,如果您没有看到任何类似的目录 - 它不是app中的主要类别之一,也不是上述的任何主要类别 - 那么您可以编写一个名称并使用它。

+0

永远不要编辑db/schema.rb!每次运行迁移时都会进行更新。 – 2010-04-07 20:11:09

+0

哪一个downvote? – 2010-04-07 22:09:26

+0

当你删除评论时,这些对话变得超现实。 – 2010-04-07 23:53:14

2

我不认为这种情况下有一个硬性和快速的Rails约定。当涉及到种子数据时,我把它放在db的子文件夹中。

0

yaml_db插件从文件中向/从数据库加载内容 rails_root/db/data.yml我不确定这是否按惯例,但是,内容与数据库相关,使db文件夹成为适当的选择

相关问题