在rails引擎中将列从excel映射到db

时间:2016-08-09 07:28:02

标签: ruby-on-rails ruby excel rubygems

我正在处理一个rails engine,它将excel文件作为输入,然后将其保存到app中的temp文件夹中。比我点击验证它验证文件,如果没有错误,它将文件保存到数据库。我能够获取excel文件的列,但我的问题是excel文件可以有不同于我的excel文件中的列。

此外,我没有为引擎生成任何迁移。应用程序将提供db表,我的引擎只会解析数据,验证,如果excel文件有效,它将保存表中的所有数据。

我很困惑如何设置映射,以便将数据保存到db。

例如 - 我的引擎有模型upload.rb,我正在对excel文件进​​行所有验证,而不是保存它。现在假设我的应用有一个模型employee.rb,其中包含first namelast nameemployee id等列,而我的Excel文件可以包含任何别名或不同的数据列名。例如fnamelname

假设我的引擎模型中有validation,因此我的引擎不知道映射,它只会验证并保存db中的数据。因此需要在我的应用中设置映射。

任何人都可以告诉我如何设置映射,以便每当我的引擎挂载时,它将解析excel并根据映射集保存到应用程序的db表中?

任何帮助将不胜感激。

0 个答案:

没有答案