我有一些.json
文件与数据不时自动更新。我也有一个Ruby on Rails应用程序,我想插入这些文件中的信息。Ruby on Rails - 自动插入数据到数据库没有种子.rb
现在,我正在解析JSON并将数据插入数据库中的seeds.rb
文件中,但我希望在不必重新启动应用程序的情况下添加更多数据,即在旅途中。
有时,我会检查这些文件,如果他们有修改,我想插入这些新项目到我的数据库。
这样做的最佳方法是什么?
我有一些.json
文件与数据不时自动更新。我也有一个Ruby on Rails应用程序,我想插入这些文件中的信息。Ruby on Rails - 自动插入数据到数据库没有种子.rb
现在,我正在解析JSON并将数据插入数据库中的seeds.rb
文件中,但我希望在不必重新启动应用程序的情况下添加更多数据,即在旅途中。
有时,我会检查这些文件,如果他们有修改,我想插入这些新项目到我的数据库。
这样做的最佳方法是什么?
看起来像一个cron的工作。
创建你的rake任务(在/ lib /任务)需要的代码:
task :import, => :environment do
Importer.read_json_if_modified # your importer class
end
然后用你想用你的系统的cron期间运行此。
什么意思是“进口商类”? –
这只是一个例子:您必须编写读取JSON的代码并创建适当的对象。你可以把它直接放在Rake任务中,但我可能会把它移动到一个专门的,分离的类中。 – Martin
就是这样。谢谢你,@马丁。 –
JSON数据是否映射到现有模型?你可以将你的控制器公开为REST API并使用它来插入你的JSON数据吗? –
数据不会映射到现有模型,但每个“json”文件都有一个与模型对应的特定名称,并且只有该模型的条目。到目前为止,我的控制器几乎都是“脚手架”。 –