2014-06-23 50 views
0

我有一些.json文件与数据不时自动更新。我也有一个Ruby on Rails应用程序,我想插入这些文件中的信息。Ruby on Rails - 自动插入数据到数据库没有种子.rb

现在,我正在解析JSON并将数据插入数据库中的seeds.rb文件中,但我希望在不必重新启动应用程序的情况下添加更多数据,即在旅途中。

有时,我会检查这些文件,如果他们有修改,我想插入这些新项目到我的数据库。

这样做的最佳方法是什么?

+1

JSON数据是否映射到现有模型?你可以将你的控制器公开为REST API并使用它来插入你的JSON数据吗? –

+0

数据不会映射到现有模型,但每个“json”文件都有一个与模型对应的特定名称,并且只有该模型的条目。到目前为止,我的控制器几乎都是“脚手架”。 –

回答

3

看起来像一个cron的工作。

创建你的rake任务(在/ lib /任务)需要的代码:

task :import, => :environment do 
    Importer.read_json_if_modified # your importer class 
end 

然后用你想用你的系统的cron期间运行此。

+0

什么意思是“进口商类”? –

+0

这只是一个例子:您必须编写读取JSON的代码并创建适当的对象。你可以把它直接放在Rake任务中,但我可能会把它移动到一个专门的,分离的类中。 – Martin

+0

就是这样。谢谢你,@马丁。 –